1.插入排序
思想:机理和打扑克牌时,整理手中牌时差不多,摸起一张牌,将它与手中已有的牌从右到左比较,插入正确的位置;
伪代码:
java 实现
插入的位置和前一个元素对比,较小就交换
/**
* 插入排序
* O(N^2)
*/
public static int[] insertSort(int[] a){
if (a == null)
return null;
if (a.length == 1)
return a;
int insertIndex =0;//插入位置
for (int i = 1; i < a.length; i++) {
int temp = a[i];//等待插入的值
insertIndex = i;
while (insertIndex >0 && a[insertIndex-1] >= temp){
a[insertIndex] = a[insertIndex-1];
--insertIndex;
}
a[insertIndex]=temp;
}
return a;
}