直接插入排序算法实现
每次同一个数左边的数相比较,如果小于左边的数,就与左边的数交换,最后当不满足小于左边的数时,将标记数temp插入到左边的位置,依次做n-1次比较
具体实现代码:
#include <stdio.h>
void InsertSort(int a[],int n){
int i,j;
int temp;
for(i=1;i<n;++i){
temp=a[i];
j=i-1;
while(j>=0&&temp<a[j]){
a[j+1]=a[j];
--j;
}
a[j+1]=temp;
}
}
int main(int argc, char *argv[])
{
int a[7]={49,38,65,97,76,13,27},i;
InsertSort(a,7);
for(i=0;i<7;++i){
printf("%d ",a[i]);
}
return 0;
return 0;
}
输出结果:
13 27 38 49 65 76 97 请按任意键继续. . .