八大排序算法之直接插入排序

直接插入排序是一种最简单的插入排序。
核心思想:遍历待排序序列,排序正确则跳过,不正确则抽出插入到之前的有序序列中的正确位置。

名称时间复杂度(平均/最坏/最好)空间复杂度稳定性
直接插入排序 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]+" ");
        }

    }

}
posted @ 2016-04-03 20:50  lei_shitou  阅读(114)  评论(0编辑  收藏  举报