直接插入排序是一种最简单的方法,也被称为简单插入排序。
基本思想:第i趟排序将序列中的第i+1个元素K(i+1)插入到一个已经按值有序的子序列(K1,K2……Ki)中合适的位置,使得插入后的序列仍然保持按值有序。
一个包含n个元素的序列,需要n-1趟的直接插入排序就可以将原序列排列有序。
算法如下:
void insertsort(keytype k[],int n) {
int i,j;
keytype tmp;
for(i=2;i<=n;i++) {
tmp=k[i];
j=i-1;
while(j>0 && tmp<k[j])
k[j+1]=k[j--];
k[j+1]=tmp;
}
}
直接插入排序算法可参考点击打开链接