Pagini recente » Cod sursa (job #688543) | Cod sursa (job #2657907) | Cod sursa (job #193479) | Cod sursa (job #753367) | Cod sursa (job #1017364)
#include <iostream>
#include <fstream>
using namespace std;
int n,i,v[500000];
void quick(int st,int dr)
{
int a=st,b=dr,aux,mij=v[(st+dr)/2];
do
{
while (v[a]<mij) a++;
while (v[b]>mij) b--;
if (a<=b)
{
aux=v[b]; v[b]=v[a]; v[a]=aux;
a++; b--;
}
} while (b>a);
if (st<b) quick(st,b);
if (a<dr) quick(a,dr);
}
int main()
{
ifstream in ("algsort.in");
ofstream out("algsort.out");
in>>n;
for (i=0;i<n;i++) in>>v[i];
quick(0,n-1);
for (i=0;i<n;i++) out<<v[i]<<' ';
in.close(); out.close();
return 0;
}