哪位大侠帮写一个C语言程序:输入10个数,分别以起泡排序与希尔排序输出!谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/13 10:06:57

冒泡排序:

#define N 10;
main()
{int i,j,t;
int a[N];
printf("plesae input data\n\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
for(j=0;j<N-i;j++)
if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}
printf("out data!");
for(i=0;i<10;i++)
printf("%d",a[i]);
}

希尔排序:

#define N 10
main()
{int i,j,t,gap;
int a[N];
printf("please input data");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
gap=N/2;
while(gap>0){
for(i=gap+1;i<=N;i++)
{ j=i-gap;
while(j>0)
if(a[j]>a[j+gap]{t=a[j];a[j]=a[j+gap];a[j+gap]=t;j=j-gap;}
else j=0;
}
gap=gap/2;
}
printf("out data!");
for(i=0;i<10;i++)
printf("%d",a[i]);

}

冒泡排序: