Pagini recente » Cod sursa (job #2327905) | Cod sursa (job #765198) | Cod sursa (job #81593) | Cod sursa (job #585684) | Cod sursa (job #1018050)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("algsort.in");
ofstream out ("algsort.out");
int N, v[500005];
void interschimb (int &x, int &y)
{
int aux=x;
x=y;
y=aux;
}
void quicksort(int a, int b)
{
int i, j, poz_piv;
if (a<b)
{
poz_piv=a;
i=a;
j=b;
while (i<j)
{
while (v[i]<v[poz_piv] && i<b)
i++;
while (v[j]>v[poz_piv] && j>a)
j--;
if (i<j)
interschimb(v[i], v[j]);
}
interschimb(v[poz_piv], v[j]);
quicksort(a, j-1);
quicksort(j+1, b);
}
}
int main()
{
in>>N;
for (int i=0;i<N;i++)
in>>v[i];
quicksort(0, N-1);
for (int i=0;i<N;i++)
out<<v[i]<<" ";
return 0;
}