Compare commits

...

2 Commits

Author SHA1 Message Date
flykhan b19828f9e4 初始化配置文件 2023-07-24 15:32:53 +08:00
flykhan 6e5f30728b 简化版桶排序 2023-07-24 15:32:26 +08:00
4 changed files with 96 additions and 0 deletions

36
.gitignore vendored Normal file
View File

@ -0,0 +1,36 @@
# ---> C++
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
# 自定义忽略
test

1
README.md Normal file
View File

@ -0,0 +1 @@
# 《啊哈算法》

29
chapter1/d1.c Normal file
View File

@ -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;
}

30
chapter1/d2.c Normal file
View File

@ -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;
}