Pagini recente » Cod sursa (job #780324) | Cod sursa (job #2355620)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <time.h>
const int MAXN = 5e5 + 5;
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int n,v[MAXN];
int partitie(int left,int right){
int j = left;
for(int i = left; i < right; i++){
if(v[i] < v[right]){
swap(v[j],v[i]);
j++;
}
}
swap(v[right],v[j]);
return j;
}
void quicksort(int left = 1,int right = n){
if(left >= right)
return;
int pivot = partitie(left,right);
quicksort(left,pivot - 1);
quicksort(pivot + 1,right);
}
int main()
{
in>>n;
for(int i = 1; i <= n; i++)
in>>v[i];
srand(time(0));
random_shuffle(v + 1,v + n + 1);
srand(time(0));
random_shuffle(v + 1,v + n + 1);
quicksort();
for(int i = 1; i <= n; i++)
out<<v[i]<<" ";
return 0;
}