#include <stdio.h>
/**
**/
void insertSort(int a[],int n){
int i,j,k;
for(i=1;i<=n;i++){//待排序的数据
k = a[i];//取出一个数据来排序
for(j=i-1;j>=0&&k<a[j];j--){
a[j+1]=a[j];//移动的条件:待排序的数据小于已排序的最大数据,即a[i-1],也即a[j]
}
j++;
a[j]=k;//把待排序的值插入到正确的位置
}
}
void main(){
int a[] = {1,3,2,5,3,9,10,33,7};
int n = 9;
int i ;
insertSort(a,n);
for(i=0;i<9;i++){
printf("%4d",a[i]);
}
}
直接插入排序算法
最新推荐文章于 2021-09-09 15:53:07 发布