解释C语言中排序的概念


问题

为什么排序使在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

更新于:2021年3月11日

4K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始学习
广告