冒泡排序:
原理:两两相互比较排序;
桶排序:
举例将扑克进行整理,准备13个卡槽,然后看到A,就放到A里面,看到2就放到2里面;
选择排序:
插入排序:
快速排序:
左右两边比较,左小右大;
归并排序:
希尔排序:
(1)初始增量第一趟 gap = length/2 = 4
(2)第二趟,增量缩小为 2
(3)第三趟,增量缩小为 1,得到最终排序结果
基数排序:
基数排序适合于有不同位数的大小数字,例如以下数列:
核心思想是:
先找十个桶:0~9
第一轮按照元素的个位数排序
桶内分别存放上述数组元素的个位数,按照数组元素的顺序依次存放
之后,按照从左向右,从上到下的顺序依次取出元素,组成新的数组。
在新的数组中,进行第二轮,按照十位数排序,依次存放于桶中:
按照之前的顺序取出,组成新的数组。
进行第三轮,按照百位数排序:
将百位数的元素取出之后,我们发现新的数组已经变成了有序数组
计数排序:
堆排序: