插入排序
每次将一个待排序的记录按其关键字大小‘插入‘到前面‘已排好序的子序列中‘,类似于扑克牌的插入
例如 n=6,数组R的六个排序码分别为:17,3,25,14,20,9。它的直接插入排序的执行过程
void InsertSort(ElemType A[],int n){
int i,j;
for(i=2; i<=n; i++){
if(A[i] < A[i-1]){
A[0] = A[i]; //复制给哨兵,A[0]不存元素
for(j=i-1; A[0]<A[i]; --j){
A[j+1] = A[j]; //向后移动
}
A[j+1] = A[0]; //复制到插入位置
}
}
}
原文:https://www.cnblogs.com/xiaofff/p/13288748.html