Pagini recente » Cod sursa (job #1683242) | Cod sursa (job #510544) | Cod sursa (job #738719) | Cod sursa (job #2639831) | Cod sursa (job #2906812)
#include<bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
void quick_sort_random(vector <int> &v, int left, int right)
{
int l = left, r = right; // i si j
int pivot_rand = v[rand() % (right - left + 1) + left];
while( l < r)
{
while(v[l] < pivot_rand) l++;
while(v[r] > pivot_rand) r--;
if( l <= r)
{
swap(v[l++],v[r--]);
}
}
if(r > left)
quick_sort_random(v, left, r);
if(l < right)
quick_sort_random(v, l, right);
}
int main(){
int N,x;
vector<int> v;
f>>N;
for(int i = 0; i < N; ++i){
f>>x;
v.push_back(x);
}
quick_sort_random(v, 0, v.size()-1);
for(auto nr: v) g<<nr<<' ';
return 0;
}