Pagini recente » Cod sursa (job #1709002) | Cod sursa (job #68239) | Cod sursa (job #2828697) | Cod sursa (job #2859385) | Cod sursa (job #1010920)
#include <fstream>
#include <vector>
using namespace std;
void swap (int *v, int i, int j)
{
int tmp = v[i];
v[i] = v[j];
v[j] = tmp;
}
void qsort (int *v, int left, int right)
{
int i, last;
if (left >= right)
return;
swap (v, left, (left + right) / 2);
last = left;
for (i = left + 1; i <= right; i++)
if (v[i] < v[left])
swap(v, i, ++last);
swap (v, left, last);
qsort (v, left, last - 1);
qsort (v, last + 1, right);
}
int main()
{
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int n;
cin >> n;
int v[500000];
for(int i = 0; i < n; i++)
cin >> v[i];
qsort(v, 0, n - 1);
cin.close();
cout.close();
}