Cod sursa(job #1011608)
| Utilizator | Data | 17 octombrie 2013 00:09:47 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
//count sort
#include<fstream>
#define dim 500008
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int a[dim],Pos[dim],Fr[dim],n,i;
void countSort () {
int i;
for(i=1;i<=n;++i){
Fr[a[i]]++;
}
for(i=1;i<=dim;++i){
Fr[i]+=Fr[i-1];
}
for(i=1;i<=n;++i){
Pos[Fr[a[i]]]=a[i];
Fr[a[i]]--;
}
for(i=1;i<=n;++i){
g<<Pos[i]<<" ";
}
}
int main (){
f>>n;
for(i=1;i<=n;++i){
f>>a[i];
}
countSort();
return 0;
}
