Pagini recente » Cod sursa (job #165112) | Cod sursa (job #633806) | Cod sursa (job #2066682) | Cod sursa (job #403099) | Cod sursa (job #2245347)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int N;
int v[500005];
void QuickSort(int left, int right)
{
int st = left, dr = right, pivot = (left + right) / 2;
do
{
while(st < right && v[st] < v[pivot])
st++;
while(dr > left && v[dr] > v[pivot])
dr--;
if(st <= dr)
{
swap(v[st], v[dr]);
++st, --dr;
}
}
while(st <= dr);
if(left < dr)
QuickSort(left, dr);
if(right > st)
QuickSort(st, right);
}
int main()
{
fin >> N;
for(int i = 1; i <= N; i++)
fin >> v[i];
QuickSort(1, N);
for(int i = 1; i <= N; i++)
fout << v[i] << ' ';
return 0;
}