1.概述
直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。
2.实现
进行N-1趟排序,第P趟的时候,位置0到P的元素为已排序状态。
void insertaion_sort(int A[],int N)
{
int i,j;
for(i=1;i<N;i++)
{
if(A[i]<A[i-1])
{
int tmp=A[i];
for(j=i;j>0&&A[j-1]>tmp;j--)
A[j]=A[j-1];
A[j]=tmp;
}
}
}
3.分析
time=O(N2)。