Pagini recente » Cod sursa (job #2965940) | Cod sursa (job #12749) | Cod sursa (job #2951698) | Cod sursa (job #1056945) | Cod sursa (job #2085771)
#include <iostream>
#include <fstream>
using namespace std;
void countingSort(int n,int x[])
{
int fr[50005],y[50005];
int m=50005;
for (int j=1;j<=m;j++) fr[j]=0;
for (int i=1;i<=n;i++) fr[x[i]]++;
for (int j=2;j<=m;j++) fr[j]+=fr[j-1];
for (int i=1;i<=n;i++) y[fr[x[i]]]=x[i],fr[x[i]]--;
for (int i=1;i<=n;i++) x[i]=y[i];
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,v[50005];
f>>n;
for (int i=1;i<=n;i++)
f>>v[i];
countingSort(n,v);
for (int i=1;i<=n;i++)
g<<v[i]<<" ";
return 0;
}