2558 - 计数排序

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入n个整数(n<=5000),从小到大输出。(使用计数排序)

题目输入

题目输出

输入/输出样例

输入格式


                        

输出格式


                        

C++解答

#include<bits/stdc++.h>
using namespace std;
#define M 100005
int A[M],cnt[M],B[M];
int main(){
      int n,x;
      cin>>n;
	   
      for(int i=1;i<=n;i++){
      	cin>>A[i]; 
      	cnt[A[i]]++;
	  } 
	  for(int i=1;i<=M;i++)cnt[i]=cnt[i]+cnt[i-1];
	  for(int i=n;i>=1;i--)B[cnt[A[i]]--]=A[i];
	  
	  for(int i=1;i<=n;i++) printf("%d ",B[i]); 
      return 0;
}