桶排序算法的理解及C语言版代码示例
理解: 举例 #include <stdio.h> int main() { int a[11],i,j,t; //初始化桶数组 for(i=0;i<=10;i++) { a[i] = 0; } //循环读入5个数 for(i = 1;i<=5;i++) { //把每一个数读到变量中去 scanf("%d",&t); //计数 a[t]++; } //从大到小输出 for(i = 10;i>=0;i--) { for(j=1;j<=a[i];j++) printf("%d",i); } getchar();getchar(); //getchar()用来暂停程序,以便查看程序输出的内容 //也可以用system("pause");来代替 return 0; } 问题2:对0-1000的整数进行排序 #include<stdio.h> int main() { int book[1001],t; //初始化桶数组 for(i=0;i<=1000;i++) { book[i] = 0; } //输入一个数n,表示接下来有n个数 scanf("%d",&n); for(i = 1;i<=n;i++) { //把每一个数读到变量中去 scanf("%d",&t); //计数 book[t]++; } //从大到小输出 for(i = 1000;i>=0;i--) { for(j=1;j<=book[i];j++) printf("%d",i); } getchar();getchar(); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |