选择排序
选择排序就是一遍一遍的的将待排序序列遍历,找出最小的元素,放在前面。
个人理解:1,3,2,4 1和3比较,然后再和2比较,再和4比较,最后找出1最小,放在最前面
冒泡排序
通过相邻的元素之间的对比,将最大的放在后面
个人理解:3,2,1 。3和2比较,2小放前面,3和1对比,1在前面,3在最后面
插入排序
个人理解:第一个为已排序序列,选第二个插入已排序序列,然后从后往前比较,最小的放最前面。
快速排序
个人理解:以第一个数为基准数,从前面找比他大的数,然后再从后面找比它小的数,然后交换。小的数就会在前面,大的数就会在后面。
第一轮快速排序
第二轮快排
第三轮排序:之前的59基准数将序列分成了两个分区,59前面的元素和59后面的元素。
第四轮排序:基准数34又将序列分成了两个分区,只能先处理子序列16和25两个元素
最后一轮排序:处理59后面的分区以及最后基准数84分出来的分区
希尔排序
个人理解:就是将无序序列分组,分组的依据,将序列长度的一半作为增量去分组,每处理完一个增量,增量就会减少1,直到增量为1。
合并排序
个人理解,先分再处理,处理完再合起来。
第一组序列0-3排序
第二组序列4-7排序
最后合并0-3和4-7