Pagini recente » Cod sursa (job #961194) | Monitorul de evaluare | Statistici Stoian Matei (StoianMatei) | Cod sursa (job #1874441) | Cod sursa (job #2471444)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n, v[500001];
int part(int l, int h)
{
int i=l, j=h, pivot=v[l];
while(i<j) {
do {
i++;
}while(v[i]<=pivot);
do {
j--;
}while(v[j]>pivot);
if(i<j)
swap(v[i], v[j]);
}
swap(v[l], v[j]);
return j;
}
void QuickSort(int l, int h)
{
int j;
if(l<h) {
j=part(l, h);
QuickSort(l, j);
QuickSort(j+1, h);
}
}
int main()
{
f >> n;
for(int i=1; i<=n; i++)
f >> v[i];
v[++n] = INT_MAX;
QuickSort(1, n);
for(int i=1; i<=n-1; i++)
g << v[i] << ' ';
return 0;
}