解释 C 语言中排序的概念

cserver side programmingprogramming更新于 2024/11/22 16:09:00

问题

为什么排序使 C 语言中的搜索更容易?如何判断 C 中的排序效率?

解决方案

排序是按升序(或)降序排列元素的过程。

  • 当人类意识到快速搜索的重要性时,排序一词应运而生。

  • 生活中我们需要搜索不同的东西,数据库中的特定记录、列表中的学号、电话簿中的号码、书中的特定页面等。

  • 如果数据以无序和无排序的形式保存,则搜索特定事物变得困难。但幸运的是,排序的概念出现了,让大家可以更轻松地按顺序排列数据。

  • 排序将数据按顺序排列,使搜索变得更容易。

排序效率

  • 如果我们想按顺序排列一副牌,我们会从检查每一张牌开始,然后相应地制作一副牌。

  • 按顺序排列一副牌需要花费大量时间,但我们却以同样的方式进行。但是,计算机不是这样工作的。

  • 从编程时代开始,科学家们就一直致力于解决用不同的算法对数据进行排序的问题。

判断哪种算法优于另一种算法的标准如下 −

  • 对给定数据进行排序所花费的时间。
  • 执行此操作所需的内存空间。

示例

以下是用于对数据进行排序的 C 程序 −

#include<stdio.h>
int main(){
   int a[50], i,j,n,t,sm;
   printf("enter the No: of elements in the list:
");    scanf("%d", &n);    printf("enter the elements:
");    for(i=0; i<n; i++){       scanf ("%d", &a[i]);    }    for (i=0; i<n-1; i++){       sm=i;       for (j=i+1; j<n; j++){          if (a[j] < a[sm]){             sm=j;          }       }       t=a[i];       a[i]=a[sm];       a[sm]=t;    }    printf ("after selection sorting the elements are:
");    for (i=0; i<n; i++)       printf("%d\t", a[i]);    return 0; }

输出

当执行上述程序时,它会产生以下结果 −

输出

enter the No: of elements in the list:
4
enter the elements:
34
12
56
7
after selection sorting the elements are:
7 12 34 56

相关文章