Pagini recente » Cod sursa (job #637951) | Cod sursa (job #1625724) | Cod sursa (job #1221630) | Cod sursa (job #2213385) | Cod sursa (job #2761503)
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
string NumeFisier = "algsort";
ifstream fin(NumeFisier + ".in");
ofstream fout(NumeFisier + ".out");
typedef unsigned long long int ull;
void QuickSort(int v[], int left, int right)
{
if (left < right)
{
int mid = (left + right) / 2;
swap(v[left], v[mid]);
int i = left, j = right, d = 0;
while (i < j)
{
if (v[i] > v[j])
{
swap(v[i], v[j]);
d = 1 - d;
}i += d;
j -= 1 - d;
}
QuickSort(v, left, i - 1);
QuickSort(v, i + 1, right);
}
}
int main()
{
int n,v[500001];
fin >> n;
for (int i = 1; i <= n; i++)
fin >> v[i];
QuickSort(v, 1, n);
for (int i = 1; i <= n; i++)
fout << v[i] << ' ';
}