Pagini recente » Cod sursa (job #1161886) | Cod sursa (job #1017345)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int a[500001];
int i,n;
void sort(int &a,int &b)
{
int aux;
aux=a; a=b; b=aux;
}
void quiksort(int st,int dr)
{
int i,j,m;
m=a[(st+dr)/2];
i=st; j=dr;
while(i<j)
{
while(a[i]<m)
i++;
while(a[j]>m)
j--;
if(i<=j)
{
sort(a[i],a[j]);
i++;
j--;
}
}
if(st<j)
quiksort(st,j);
if(i<dr)
quiksort(i,dr);
}
int main()
{
int i,a[500001];
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
quiksort(i,n);
for(i=1;i<=n;i++)
g<<a[i]<<" ";
f.close();
g.close();
return 0;
}