Pagini recente » Cod sursa (job #2880100) | Cod sursa (job #3030276) | Cod sursa (job #634922) | Cod sursa (job #1807042) | Cod sursa (job #1261521)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500005];
void qcksrt(int left ,int right)
{
int i=left;
int j=right;
int p=v[(left+right)/2];
while(i<=j)
{
while(v[i]<p)
i++;
while(v[j]>p)
j--;
if (i<=j)
{
v[i]=v[i]^v[j]^(v[j]=v[i]);
i++;
j--;}
}
if (left<j)
qcksrt(left, j);
if(i<right)
qcksrt(i, right);
}
int main()
{
int n, i;
fin>>n;
for(i=0;i<n;++i)
fin>>v[i];
qcksrt(0, n-1);
for(i=0; i<n; ++i)
fout<<v[i]<<' ';
fin.close();
fout.close();
return 0;
}