Pagini recente » Cod sursa (job #1253682) | Cod sursa (job #3169716) | Cod sursa (job #945006) | Cod sursa (job #1063210) | Cod sursa (job #748455)
Cod sursa(job #748455)
#include<fstream>
#include<stdlib.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int a[500000],n,pp,si;
void read(){
f>>n;
for(int i=0;i<n;i++)
f>>a[i];
}
void qsort(int i,int j){
if(i<j){
pp=i+rand()%(j-i);
si=i;
a[pp]=a[j]^a[pp]^(a[j]=a[pp]);
for(int k=i;k<j;k++)
if(a[k]<a[j]){
a[k]=a[si]^a[k]^(a[si]=a[k]);
++si;
}
a[si]=a[j]^a[si]^(a[j]=a[si]);
qsort(i,si-1);
qsort(si+1,j);
}
}
int main(){
read();
qsort(0,n-1);
for(int i=0;i<n;i++)
g<<a[i]<<" ";
return 0;
}