Posted on 2012-03-04 15:19
hoshelly 阅读(120)
评论(0) 编辑 收藏 引用 所属分类:
DS && Algorithm
#include<stdio.h>
int insertsort(int a[],int n)//直接排序法
{
int i,j;
for(i=2;i<=n;i++)
{
a[0]=a[i]; //a[0]作为临时变量存储a[i]
j=i-1;
while(j>0 && a[0]>a[j])//从大到小排列
a[j+1]=a[j--];
a[j+1]=a[0]; //将元素a[0]插入指定位置
}
return 0;
}
int main()
{
int i,a[11]={-111,2,5,6,3,7,8,0,9,12,1};//a[0]没有使用
printf("The orginal data array is\n");
for(i=1;i<=10;i++)
printf("%d ",a[i]);
insertsort(a,10);
printf("\nThe result of insertion sorting for the array is\n");
for(i=1;i<=10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}