【排序】

1. 插入排序

  遍历2层循环,第一次从1到length,第二层从i-1到零,一旦参考元素a[i]比前面元素小就交换,知道移动到合适的位置。

  

2.简单选择排序

3.快速排序

  设置两个指针i=j=0,找最后一个数X作为参考,一次扫描,若大于X,就j++,把值存到j的位置;若小于X就i++,j++,把值交换到i的位置。

4.归并排序

  方法1:8-4-2,归并好两个数,然后4个,然后8个。

  方法2:2路归并排序。把所有的数依次两个一堆,排序。然后第二次4个一堆排序,直到最后。

5.堆排序

  先把数按顺序放到树里面,从下往上冒,使其满足堆的要求。

  此时,最上面的一定是最大(小)的数,把它放到最下面最右边的位置。打破了平衡,继续冒。

  依次类推,直到最后。

原文地址:https://www.cnblogs.com/lxq0309/p/3659803.html