我们假如对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; }