原文链接:http://blog.youkuaiyun.com/morewindows/article/details/6665714
简单
InsertSort(int *a,int n){
int i,j,k;
for(i = 1;i < n;i++){
for(j = i - 1;j >= 0;j--){
if(a[j] < a[i])
break;
}
if(j != i - 1){
for(k = i - 1;k . j;k--)
a[k + 1] = a[k];
a[k + 1] = a[i];
}
}
}
进阶
InsertSort2(int *a,int n){
int i,j;
for(i = 1;i < n;i++){
for(j = i - 1;j >= 0 && a[j + 1] < a[j];j--)
swap(a[j + 1],a[j]);
}
}