原理:将数据放到已经排好序的数组最后面,然后一个一个与前面的比较,大于该数的往后移,发现小于则代表可插入到该数的后面。
稳定 空间复杂度 O(1)
时间复杂度O(n^2)
public static int[] InsertSort(int [] a){
for(int i=1;i<a.length;i++){
int j;
int tmp = a[i];
for( j=i-1;j>=0;j--){
if(a[j]>tmp){
a[j+1] = a[j];
}
else{
break;
}
}
a[j+1] = tmp;
}
return a;
}
稳定 空间复杂度 O(1)
时间复杂度O(n^2)