Pagini recente » Cod sursa (job #2187345) | Cod sursa (job #2331252) | Cod sursa (job #1754553) | Cod sursa (job #1281639) | Cod sursa (job #828745)
Cod sursa(job #828745)
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
const int N=550000;
int n,v[N];
void quickSort(int *v,int left,int right){
if(left>=right)
return;
srand(time(NULL));
int randpoz=left+rand()%(right-left+1);
swap(v[randpoz],v[left]);
int i,j,pivot;
for(pivot=v[left],i=left+1,j=right;i<j;){
if(v[i]>=pivot){
swap(v[i],v[j]);
--j;
continue;
}
++i;
}
if(v[i]>pivot){
--i;
}
swap(v[left],v[i]);
quickSort(v,left,i-1);
quickSort(v,i+1,right);
}
int main(){
int i;
in>>n;
for(i=1;i<=n;++i){
in>>v[i];
}
quickSort(v,1,n);
for(i=1;i<=n;++i){
out<<v[i]<<" ";
}
}