Pagini recente » Cod sursa (job #1990610) | Cod sursa (job #1156502) | Cod sursa (job #3030647) | Cod sursa (job #458398) | Cod sursa (job #1814875)
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <algorithm>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, v[500001];
void quick_sort(int st, int dr){
int i = st, j = dr;
int pivot = rand() % n + 1;
do{
while(v[i] <= pivot && i <= dr){
i++;
}
while(v[j] > pivot && j >= st){
j--;
}
swap(v[i], v[j]);
i++;
j--;
}while(i <= j);
if(st < j) quick_sort(st, j);
if(dr > i) quick_sort(i, dr);
}
int main()
{
int i;
fin>>n;
for(i = 1; i <= n; ++i){
fin>>v[i];
}
quick_sort(1, n);
for(i = 1; i <= n; ++i){
fout<<v[i]<<" ";
}
return 0;
}