排序 | 计数排序
Posted YOUCRY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序 | 计数排序相关的知识,希望对你有一定的参考价值。
1.描述
示例 1
输入:arr = [8,7,6,5,4,3,2,1]
输出:[1,2,3,4,5,6,7,8]
2.想法
3.代码
class Solution {
public:
void countSort(vector<int>& arr,int maxValue){
//假设元素范围在0-maxValue之间 负数可通过偏移量转换(移位)
vector<int> count(maxValue+1,0);
for(int i=0;i<arr.size();i++){
count[arr[i]]++;
}
int k=0;
for(int i=0;i<count.size();i++){
for(int j=0;j<count[i];j++){
arr[k++]=i;
}
}
}
};
以上是关于排序 | 计数排序的主要内容,如果未能解决你的问题,请参考以下文章