Pagini recente » Cod sursa (job #2492522) | Cod sursa (job #984423) | Cod sursa (job #234142) | Cod sursa (job #2297311) | Cod sursa (job #663177)
Cod sursa(job #663177)
#include<stdio.h>
#include<stdlib.h>
int a[500001],n;
void citire(){
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
}
void afisare(){
for(int i=1;i<=n;i++)
printf("%d ",a[i]);
}
void qsort(int st,int dr){
int i=st,j=dr,p=a[i+rand()%(j-i)];
while(i<=j){
while(a[i]<p)
++i;
while(a[j]>p)
--j;
if(i<=j)
a[i]=a[i]^a[j]^(a[j]=a[i]),--j,++i;
}
if(st<j)
qsort(st,j);
if(dr>i)
qsort(i,dr);
}
int main(){
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
citire();
qsort(1,n);
afisare();
return 0;
}