思想:桶排序是非基于比较的排序,实际上不常用,刷题时要有桶的思想。时间空间复杂度都是O(n)
桶可以统计词频
#include<iostream>
#include<vector>
using namespace std;
void BucketSort(vector<int>& arr)
{
vector<int> bucket(10, 0);
int x = 0;
for (int i = 0; i < arr.size(); i++)
{
bucket[arr[i]]++;
}
for (int j = 0; j < bucket.size(); j++)
{
while (bucket[j] != 0)
{
arr[x++] = j;
bucket[j]--;
}
}
}
int main()
{
vector<int> a = { 2,3,5,2,6,1,4,2,6,5,6,9,0 };
BucketSort(a);
for (int i = 0; i < a.size(); i++)
{
cout << a[i] << " " ;
}
};