Pagini recente » Cod sursa (job #656248) | Cod sursa (job #1887694) | Cod sursa (job #2136923) | Cod sursa (job #2381527) | Cod sursa (job #1020987)
#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=(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;
}