Pagini recente » Cod sursa (job #505745) | Cod sursa (job #2347730) | Cod sursa (job #2347733) | Cod sursa (job #2527640) | Cod sursa (job #1081356)
#include <fstream>
#define Max 500004
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int v[Max],i,n,st,dr;
int qsort(int v[Max], int st, int dr)
{
int piv=v[(st+dr)/2],min,max,temp;
min=st; max=dr;
do
{
while(v[min] < piv) min++;
while(v[max] > piv) max--;
if(min<=max)
{
temp=v[min];
v[min++]=v[max];
v[max--]=temp;
}
} while(min<=max);
if(st<max) qsort(v, st, max);
if(dr>min) qsort(v, min, dr);
return 0;
}
int main()
{
cin>>n;
for(i=0; i<n; i++)
cin>>v[i];
st=0; dr=n-1;
qsort(v, st, dr);
for(i=0; i<n; i++)
cout<<v[i]<<' ';
return 0;
}