Pagini recente » Cod sursa (job #177119) | Cod sursa (job #3197649) | Cod sursa (job #340472) | Cod sursa (job #1434280) | Cod sursa (job #3128848)
#include <iostream>
#include <fstream>
using namespace std;
long long int v[500000];
int quicksort1(int start, int final)
{
int pivot = v[final];
int index = start - 1;
for (int i = start; i < final ; i++)
{
if (v[i] < pivot)
{
index++;
int aux = v[index];
v[index] = v[i];
v[i] = aux;
}
}
int aux = v[index + 1];
v[index + 1] = v[final];
v[final] = aux;
return index + 1;
}
void quicksort(int start, int final) {
if (final > start)
{
int felie = quicksort1(start, final);
quicksort(start, felie - 1);
quicksort(felie + 1, final);
}
}
int main() {
ifstream in("algsort.in");
ofstream out("algsort.out");
long long int n;
in >> n;
for (int i = 0; i < n; i++)
in >> v[i];
quicksort(0, n - 1);
for (int i = 0; i < n; i++)
out << v[i]<<" ";
}