从最低位开始,依次进行一次排序; 从最低位排序一直到最高位排序完成以后, 整合后数列就变成一个有序序列。 2.2 实例说明 以12,32,2,620,42,98,122,289,987,37,56,90为例,排序过程如下: 1.以个位数跑一趟: 个位排序的最终结果: 620,90,12,32,2,42,122,56,987,27,98,289 (这些数据只看个位的话...
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 算法步骤: 1.选择一个增量序列t1,t2,…,tk,其中ti>t...
一等座的座位号分布略有不同,一排只设置了四个座位,位置更加宽敞,分别是ACDF号,其中A和F号是靠窗的位置,C和D是靠走廊的位置,AC连在一起,DF连在一起。商务舱的座位号分布也有所不同,一排只设置三个位置,座位号分别是ACF号,其中A靠着窗户,C靠着走廊,两者并排连在一起,而F是一个单独的位置,...
高铁的座位号命名规则是由国家铁路局规定的,其中字母表示座位类型,数字表示座位位置。一般来说,A表示头等座、B表示商务座、C表示一等座、D表示二等座、F表示无座。动车的座位延续了国际飞机座位的方式,最早的飞机采用的是单通道,也就是中间一条道两边各3个位子,所以从左往右依次是ABCDEF(B和E是中间位置)...
2.插入排序 思路:把一个数字插入一个有序的序列中,使之仍然保持有序,如对于需要我们进行排序的数组,我们可以使它的前i个数字有序,然后再插入i+1个数字,插入到合适的位置使之仍然保持有序,直到所有的数字有序。 时间复杂度:O(n^2) 稳定性:稳定的算法 ...
基数排序是另外一种高效的线性排序算法。 其方法是将数据按位分开,并从数据的最低有效位到最高有效位进行比较,依次排序,从而得到有序数据集合。 我们来看一个例子,用基数排序对十进制数据{15,12,49,16,36,40}进行排序。在对个位进行排序之后,其结果为{40,12,15,16,36,49},在对十位进行排序之后,其结果为...
1.选择法排序(升序) 基本思想: 1)对有n个数的序列(存放在数组a(n)中),从中选出最小的数,与第1个数交换位置; 2)除第1 个数外,其余n-1个数中选最小的数,与第2个数交换位置; 3)依次类推,选择了n-1次后,这个数列已按升序排列。 程序代码如下: ...
基数排序: 又叫桶排序,我们知道可以把一个数字序列分为个、十、百、千、万。。。位,我们把每一个位设置成一个桶,例如有一组无序 数字序列,先将每个数字的个位提取出来,按个位数大小进行排序,再把十位数提取出来,按十位数大小进行排序,直到序列中最高位数排序完毕,得到的序列就为以有序序列。
int order = 1; /* 排序的位数,1代表个位、2代表十位、3代表百位 */printf("before\n"); for (i=0; i<30; i++) printf("%d ", array[i]); printf("\n");/* 排序函数,从个位开始 */ radix_sort(array, len, dec, order);printf...