计数排序

概念

计数排序,有票箱,和票,将票对应票箱,

个人感觉类似哈希,将票对应到票箱,票箱有序

时间

\(O(n)\)

例子

洛谷1271

学校正在选举学生会成员,有 n(n\le 999)n(n≤999) 名候选人,每名候选人编号分别从 1 到 nn,现在收集到了 m(m<=2000000)m(m<=2000000) 张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。

#include<iostream>
#include<cstring>
using namespace std;
int main(){
  int n,m;
  cin>>n>>m;
  int arr[n+1];
  memset(arr,0,sizeof(arr));
  for(int i = 0;i<m;i++){
    int temp;
    cin>>temp;
    arr[temp]++;  
  }
  for(int  i = 1;i<=n;i++){
    for(int j = 0;j<arr[i];j++){
        cout<<i<<" ";
    }
  }
}   
posted @ 2022-11-12 10:42  壹剑霜寒十四州  阅读(15)  评论(0编辑  收藏  举报