Pagini recente » Cod sursa (job #1117516) | Istoria paginii runda/pauloji_2010 | Cod sursa (job #141123) | Cod sursa (job #1867396) | Cod sursa (job #1022904)
#include<fstream>
using namespace std;
long a[500001], n, i;
void inter ( long &x, long &y)
{
int aux= x;
x=y;
y=aux;
}
int pivot(long s, long d)
{
long di, dj, i, j;
i=s;
j=d;
di=0;
dj=1;
while(i<j)
{
if(a[i]>a[j])
{
inter(a[i], a[j]);
inter(di, dj);
}
i+=di;
j-=dj;
}
return i;
}
void quick(int s, int d)
{
if(s<d)
{
int m;
m=pivot(s,d);
quick(s, m-1);
quick(m+1, d);
}
}
int main()
{
ifstream f;
ofstream g;
f.open ("algsort.in", ifstream::in);
g.open ("algsort.out",ofstream::out);
f>>n;
for(i=1;i<=n;i++) f>>a[i];
quick(1, n);
for(i=1;i<=n;i++) g<<a[i]<<" ";
f.close();
g.close();
return 0;
}