计数代码,0分求调
查看原帖
计数代码,0分求调
1702309
wyz20041108楼主2025/8/2 12:29
#include<bits/stdc++.h>
using namespace std;
const int maxn = 2000010;
int a[maxn];
int cnt[maxn];
int c[maxn];
void counting_sort(int a[] , int m , int n){
      for(int i = 1;i <= m;i++){
            cnt[a[i]-1]++;
      }
      for(int i = 1;i < n;i++){
            cnt[i] = cnt[i-1] + cnt[i];
      }
      for(int i = m; i >= 1 ;i--){
           c[cnt[a[i] - 1]] = a[i]; 
            cnt[a[i]-1]--;
      }
}
int main(){
      int n , m;
      cin >> n;
      for(int i = 1;i <= m;i++){
            cin >> a[i];
      }
      counting_sort(a,m,n);
      for(int i = 1;i <= m;i++){
            cout << c[i] << " ";
      }
      return 0;
}
2025/8/2 12:29
加载中...