- 冒泡排序:对数组中的原始数据从左往右多次扫描,相邻两者比较,不符合比较条件时进行交换。
- 选择排序:把一轮中的第一个数据作为最小值,从其余的数据中找最小值与之交换。第一轮从arr[0]开始,第二次从arr[1]开始,以此类推。
- 插入排序:将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。
- 希尔排序(对插入排序的改进):先按照一定增量进行分组;第一次按照步数为n/2分组,组内按条件比较交换;第二次按照步数为n/4分组,组内比较交换;直到缩小到步数为1.
- 基数排序:将整数按位数切割成不同的数字,然后按每个位数分别比较。按位比较,先比较个位,再比较十位,以此类推。
- 快速排序:找到第一个数作为基准数,定义左右指针(游标),右指针先走找到比基准数小的,然后左指针走找到比基准数大的,左右指针值交换继续走,相遇之后基准数与相遇处的值交换,把相遇处的值作为基准数;把新的基准数为界拆分,再重复上述步骤。
- 归并排序:一种拆分的思想;先拆,拆分成单个,然后再合并,合并的过程中两两比较进行排序。
例
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)