八大排序算法之直接插入排序
直接插入排序是一种最简单的插入排序。
核心思想:遍历待排序序列,排序正确则跳过,不正确则抽出插入到之前的有序序列中的正确位置。
名称 | 时间复杂度(平均/最坏/最好) | 空间复杂度 | 稳定性 |
---|---|---|---|
直接插入排序 | O(N2)/O(N2)/ O(N) | O(1) | 稳定 |
JAVA代码:
public class Directinsert {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int []a={122,3,4,2,5,7,1,6,9};
for(int i=1;i<a.length;i++){
//if(a[i]<a[i-1]){
int m=a[i];
int k=i;
for(int j=i-1;j>=0&&a[j]>m;j--){
a[j+1]=a[j];
k--;
}
a[k]=m;
//}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}