直接插入排序是最直观的一种排序。
简单来说就是将数组分为已经排序和未排序。
数组从第二个元素开始枚举,将第一个元素看成已经排序。
然后简单来说就是从当前元素开始做比较,如果该元素小于它前一个元素那么将前一个元素的值赋值给该元素的位置(该元素的值提前使用temp保存下来)。
直到遇到比该元素小的值,这时将该元素的值赋值给比这个元素小的前一个位置。
void insertSort(int a[],n){
int k;
for(int i=1;i<n;i++){//进行n-1次遍历
int temp=a[i];k=i;
while(k>0&&temp<a[k-1]){//如果当前数组的值小于前一个数组
a[i]=a[i-1];
k--;
}
a[k]=temp;
}
}