1 伪代码如下
、
2 分析
插入排序的最坏时间复杂度为O(n^2),最好复杂度O(n),平均复杂度O(n^2)
3 源代码
#include <iostream>
using namespace std;
void InsertSort(int *A,int len){
int j,i;
int key;
for (j=1;j<len;j++)
{
key=A[j];
i=j-1;
while (i>=0 && A[i]>key)
{
A[i+1]=A[i];
i--;
}
A[i+1]=key;
}
}
//
void ShowArry(int *A,int len){
for (int i=0;i<len;i++)
{
cout<<A[i]<<" ";
}
cout<<endl;
}
int main(int argc,char *argv[]){
//int A[]={5,4,3,2,1};
int A[]={3,1,4,2,5};
InsertSort(A,5);
ShowArry(A,5);
return 0;
}