基本思想:每次将一个待排序的记录按关键字大小插入到前面有序表直到全部记录插入完成
void InsertSort(int a[],int n){
int i,j,k;
for(i=1;i<n;i++){//将a[1]~a[n-1]插入到前面已排序列
if(a[i]<a[i-1]){//若a[i]小于其前驱,则插入有序表
k=a[i];
for(j=i-1;k<a[j];j--){//从后往前找待插入位置
a[j+1]=a[j];//向后挪位
}
a[j+1]=k;//复制到待插入位置
}
}
}