1.希尔排序
思想:对于插入排序的基础上改造。等于将数组分为h个小数组,再将这h个小数组使用插入排序。h相当于间隔,8~10行为将h扩大,将原数组a[]分开。12行代码:将a[i]插入到a[i-h],a[i-2*h]......之中。
2 .归并排序
思想:分治思想。将数组分为两部分。部分1与部分2使用递归的方法进行排序。然后用两个指针分别指着两个数组,将小的数拿出来存储到新的数组之中去。12~16行:若两个小数组都没有比较完,就将小的拿出来。若比较完了,哪个数组有多,用两个while循环再放进来。17:最后再将排序好的新数组的数据放回原数组。
3.快速排序
思想:取一个数值x,让x左边的数都小于等于x,让x右边的数都大于等于x。然后再用递归,将左边与右边排序。