简化版桶排序
This commit is contained in:
parent
4412ac3a37
commit
6e5f30728b
|
@ -0,0 +1,29 @@
|
|||
// 简化桶排序桶排序
|
||||
// 啊哈算法 P4-5
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
int a[11], i, j, t;
|
||||
for (i = 0; i <= 10; i++)
|
||||
a[i] = 0; // 初始化为0
|
||||
|
||||
for (i = 1; i <= 5; i++)
|
||||
{
|
||||
scanf("%d", &t); // 把每一个数读入到变量 t 中
|
||||
a[t]++; // 进行计数
|
||||
}
|
||||
|
||||
// 从小到大排序
|
||||
// for (i = 0; i <= 10; i++) // 依次判断 a[0]~a[10]
|
||||
// 从大到小排序
|
||||
for (i = 10; i >= 0; i--)
|
||||
for (j = 1; j <= a[i]; j++) // 出现了几次就打印几次
|
||||
printf("%d ", i);
|
||||
|
||||
/* 用于Windows
|
||||
getchar();getchar(); // 用来暂停程序,以便查看程序输出的内容
|
||||
// 也可以用 system("pause"); 等来替代
|
||||
*/
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// 简化桶排序
|
||||
// 啊哈算法 P6
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
int book[1001], i, j, t, n;
|
||||
|
||||
for (i = 0; i <= 1000; i++)
|
||||
book[i] = 0;
|
||||
|
||||
printf("请输入要排序的数的个数: ");
|
||||
scanf("%d", &n); // 输入一个数 n,表示接下来有 n 个数
|
||||
printf("请输入 %d 个数,使用空格隔开: \n", n);
|
||||
for (i = 1; i <= n; i++) // 循环读入 n 个数,并进行桶排序
|
||||
{
|
||||
scanf("%d", &t); // 把每一个数读入到变量 t 中
|
||||
book[t]++; // 进行计数,对编号为 t 的桶放一个小旗子
|
||||
}
|
||||
|
||||
for (i = 1000; i >= 0; i--) // 依次判断编号 1000~0 的桶
|
||||
for (j = 1; j <= book[i]; j++) // 出现了几次就打印几次
|
||||
printf("%d ", i); // 打印编号
|
||||
|
||||
// 用来暂停程序,以便查看程序输出的内容
|
||||
// getchar();
|
||||
// getchar();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue