插入排序

我们假如对int型数组A[n]进行排序

插入排序的思想:

  需要n-1次插入排序,对于第i(从1开始)次插入排序,就是将A[i]插入到有序序列A[0..i-1]中。

适用环境:

  数据规模较小,并且初始数据基本有序。

复杂度:

  最好  O(n)

  最坏 O(n*n)

  平均 O(n*n)

  插入排序需要开辟一个额外的存储空间。 

算法代码:

sort(int A[n])
    for(int i=1;i<=n-1;i++)
        insertSort(A,i,A[i]);

insertSort(int B[],int pos,int value){
    int i=pos-1;
    while(i>=0 && B[i]>value){
           B[i+1]=B[i];
           i--;  
}     
   B[i+1]=value;
}

 

posted @ 2013-01-14 12:39  华电岳黎明  阅读(174)  评论(0编辑  收藏  举报