Pagini recente » Cod sursa (job #1220944) | Cod sursa (job #455713) | Cod sursa (job #1318997) | Cod sursa (job #1649033) | Cod sursa (job #1234911)
#include <iostream>
#include <fstream>
#define nmax 500001
using namespace std;
ifstream fin("sort.in");
ofstream fout("sort.out");
int n, i;
int A[nmax];
void qs(int st, int dr)
{
if (st >= dr)
return;
int i = st, j = dr;
while (i <= j)
{
int pivot = A[(st+dr)>>1];
while (A[i] < pivot)
i++;
while (A[j] > pivot)
j--;
if (i <= j)
{
swap(A[i], A[j]);
i++, j--;
}
}
qs(st, j);
qs(i, dr);
}
void read()
{
fin >> n;
for (i=1; i<=n; i++)
fin >> A[i];
}
void write()
{
for (i=1; i<=n; i++)
fout << A[i] << " ";
fout << "\n";
}
int main()
{
read();
qs(1, n);
write();
fin.close();
fout.close();
return 0;
}