不能打开帮助和支持:算法二:直接插入排序(O(n^2))

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 04:53:52

 

1. 直接插入排序

思想:每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序,直到待排序数据元素全部插入完为止。

适用范围number<50或者基本有序的文件。

复杂度:平均:

        最好:

稳定性:稳定

算法:演示

       49  38  65  97  76  13  27  49   J=1

       [38 49]  65  97  76  13  27  49    J=2(38)

       [38 49  65]  97  76  13  27  49    J=3(65)

       [38 49  65  97]  76  13  27  49    J=4(97)

       [38 49  65  76  97]  13  27  49    J=5(76)

       [13 38  49  65  76  97]  27  49    J=6(13)

       [13 27  38  49  65  76  97]  49    J=7(27)

       [13 27  38  49  49  65  76  97]    J=8(49)

程序

template

void InsertSort(T A[],int n)

{

      for(int i=1;i

      {

             int j=i;

             T temp=A[i];

             while(j>0 && temp

             {

                    A[j]=A[j-1];

                    --j;

             }

             A[j]=temp;

      }

}