C语言实现55、7、45、69、70、24、21、1、16、37十个数字桶排序
时间: 2023-07-04 14:10:00 浏览: 36
下面是C语言实现的十个数字的桶排序:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUM 100 // 数组的最大值
void bucket_sort(int arr[], int n) {
int i, j;
int count[MAX_NUM] = {0}; // 桶计数器
int *temp = (int*)malloc(n * sizeof(int)); // 临时数组
// 统计每个数字出现的次数
for (i = 0; i < n; i++) {
count[arr[i]]++;
}
// 依次将桶中的数字放入临时数组中
for (i = 0, j = 0; i < MAX_NUM; i++) {
while (count[i]--) {
temp[j++] = i;
}
}
// 将临时数组复制回原数组
for (i = 0; i < n; i++) {
arr[i] = temp[i];
}
free(temp);
}
int main() {
int arr[] = {55, 7, 45, 69, 70, 24, 21, 1, 16, 37};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Before sorting:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
bucket_sort(arr, n);
printf("After sorting:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果:
```
Before sorting:
55 7 45 69 70 24 21 1 16 37
After sorting:
1 7 16 21 24 37 45 55 69 70
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)