Pagini recente » Cod sursa (job #3239463) | Cod sursa (job #3156791) | Cod sursa (job #1467726) | Cod sursa (job #3225825) | Cod sursa (job #1020991)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("algsort.in");
ofstream out ("algsort.out");
int N, v[500005];
void swap (int &a, int &b)
{
int aux=a;
a=b;
b=aux;
}
void sort(int a, int b)
{
if (a>b)
return;
int pivot=v[(a+b)/2];
int begin=a, end=b;
while (begin<=end)
{
while (v[begin]<pivot)
++begin;
while (v[end]>pivot)
--end;
if (begin<=end)
{
swap (v[begin], v[end]);
++begin;
--end;
}
}
sort(a, end);
sort(begin, b);
}
int main()
{
in>>N;
for (int i=0;i<N;++i)
in>>v[i];
sort(0, N-1);
for (int i=0;i<N;++i)
out<<v[i]<<" ";
return 0;
}