解释 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