Pagini recente » Cod sursa (job #1033251) | Cod sursa (job #1165939) | Cod sursa (job #1515969) | Cod sursa (job #1857456) | Cod sursa (job #1282603)
#include <fstream>
using namespace std;
void swap(int& a, int& b)
{
int tmp = a;
a = b;
b = tmp;
}
void quick_sort(int v[], int left, int right)
{
int min = left, max = right, mid = v[(left + right) / 2];
while (min <= max)
{
while (v[min] < mid) ++min;
while (v[max] > mid) --max;
if (min <= max)
swap(v[min++], v[max--]);
}
if (left < max) quick_sort(v, left, max);
if (min < right) quick_sort(v, min, right);
}
int main()
{
int n, v[500001];
ifstream fin("algsort.in");
ofstream fout("algsort.out");
fin >> n;
for (int i = 0; i < n; ++i)
fin >> v[i];
quick_sort(v, 0, n - 1);
for (int i = 0; i < n; ++i)
fout << v[i] << ' ';
fout << '\n';
return 0;
}