希尔排序源代码:
#include<stdio.h> void insort(int s[],int n) { int i,j; for(i=2;i<=n;i++) { s[0]=s[i]; j=i-1; while(s[0]<s[j]) { s[j+1]=s[j]; j--; } s[j+1]=s[0]; } } void main() { int a[11],i; printf("请输入10个数据:"); for(i=1;i<=10;i++) scanf("%d\n",&a[i]); printf("原始顺序:"); for(i=1;i<11;i++) printf("%5d",a[i]); insort(a,10); printf("\n插入数据排序后的顺序:"); for(i=1;i<11;i++) printf("%5d",a[i]); printf("\n"); }
结果:
冒泡排序(执行程序出问题了未解决问题):
#include<stdio.h> void main() { int i,j,t,a[11]; printf("请输入10个数据:\n"); for(i=1;i<11;i++) scanf("%d",a[i]); for(i=1;i<4;i++) for(j=1;j<11-i;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } printf("排序后的顺序是:\n"); for(i=1;i<=10;i++) printf("%5d\n",a[i]); printf("\n"); }(明天再搞搞,断电了台式工作不了,滚去洗澡了....)