Pagini recente » Cod sursa (job #2106737) | Istoria paginii preoni-2008/runda-finala/regulament | Cod sursa (job #1180733) | Cod sursa (job #2874296) | Cod sursa (job #2737033)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
const int maxn = 500005;
int v[maxn];
int pivot(int st, int dr)
{
int pivot = v[dr];
int x = st;
for(int i = st; i <= dr; i++)
{
if(v[i] < pivot)
{
swap(v[i], v[x]);
x++;
}
}
swap(v[x], v[dr]);
return x;
}
void quicksort(int st, int dr)
{
if(st >= dr)
return;
int p = pivot(st, dr);
quicksort(st, p - 1);
quicksort(p + 1, dr);
}
int main()
{
int n;
in >> n;
for(int i = 1; i <= n; i++)
in >> v[i];
quicksort(1, n);
for(int i = 1; i <= n; i++)
out << v[i] << " ";
out << "\n";
return 0;
}