Pagini recente » Cod sursa (job #2210208) | Cod sursa (job #1302394) | Cod sursa (job #2460012) | Cod sursa (job #3157352) | Cod sursa (job #263892)
Cod sursa(job #263892)
#include <stdio.h>
#define fin "algsort.in"
#define fout "algsort.out"
#define MaxN 500001
int n;
int v[MaxN];
void quicksort(int inf,int sup){
if (inf<sup){
int i=inf+1,j=sup,pivot=v[inf];
int aux;
while(i<j){
while (i<sup && v[i]<=pivot) i++;
while (j>inf && v[j]>pivot) j--;
if (i<j && i<=sup && j>=inf){
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++; j--;
}
}
i--;
v[inf]=v[i]; v[i]=pivot;
quicksort(inf,i-1);
quicksort(i+1,sup);
}
}
int main(){
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d",&v[i]);
quicksort(1,n);
for (int i=1;i<=n;i++)
printf("%d ",v[i]);
}