桶排序c++不用vector
时间: 2023-12-19 15:32:20 浏览: 84
```c++
#include <iostream>
using namespace std;
// 定义桶排序函数
void bucketSort(int arr[], int n, int maxVal) {
int bucket[maxVal + 1] = {0}; // 创建桶并初始化为0
// 将元素放入对应的桶中
for (int i = 0; i < n; i++) {
bucket[arr[i]]++;
}
// 从桶中取出元素并排序
for (int i = 0, j = 0; i <= maxVal; i++) {
while (bucket[i] > 0) {
arr[j++] = i;
bucket[i]--;
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr) / sizeof(arr[0]);
int maxVal = 90; // 最大值
bucketSort(arr, n, maxVal);
// 输出排序后的数组
cout << "Sorted array is: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
阅读全文