插入排序算法只要记住一点:打扑克牌时排序牌的过程
void insertSort(int *array,int size)
{
for(int i=1;i<size;i++)
{
int key=array[i];
int j=i-1;
while(j>=0&&array[j]>key)
{
array[j+1]=array[j];
j--;
}
array[j+1]=key;
}
}
伪代码如下:
INSERT-SORT:
for i<---1 to length[A] -1
do key=A[i]
▷Insert A[i] into the insorted sequence A[0...i-1]
j<--i-1
while j>=0 and A[j]>key
A[j+1]=A[j]
j--
A[j+1]=key