Pagini recente » Cod sursa (job #2310185) | Istoria paginii runda/oni_cl8/clasament | Cod sursa (job #199973) | Cod sursa (job #802414) | Cod sursa (job #1778098)
// COUNTSORT
#include <iostream>
#include <fstream>
#define NMAX 500001
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int n, *a, *frecv;
int main()
{
int minn, maxx;
in >> n;
a = new int[n + 1];
in >> a[1];
minn = maxx = a[1];
for (int i = 2; i <= n; i++)
{
in >> a[i];
if (minn > a[i])
minn = a[i];
if (maxx < a[i])
maxx = a[i];
}
in.close();
int elem = maxx - minn + 1;
frecv = new int[elem];
for (int i = 0; i < elem; i++)
frecv[i] = 0;
for (int i = 1; i <= n; i++)
frecv[a[i] - minn]++;
for (int i = 0; i < elem; i++)
if (frecv[i] != 0)
for (int j = 1; j <= frecv[i]; j++)
out << i + minn << " ";
out << "\n";
out.close();
delete[] a;
delete[] frecv;
return 0;
}