Pagini recente » Cod sursa (job #2317822) | Cod sursa (job #2420822) | Cod sursa (job #2587916) | Cod sursa (job #1174160) | Cod sursa (job #589572)
Cod sursa(job #589572)
#include <iostream>
#include <stdio.h>
using namespace std;
const int d=500001;
inline void Swap(int &a, int &b){
int aux;
aux=a;
a=b;
b=aux;
}
int Partition(int x[d], int l, int r){
int i,j;
int p;
p=x[l];
i=l;
for (j=l+1;j<r;j++)
if(x[j]<=p){
i++;
Swap(x[i],x[j]);
}
Swap(x[l],x[i]);
return i;
}
void QuickSort(int x[d], int l, int r){
int m;
if (l<r){
m=Partition(x,l,r);
QuickSort(x,l,m);
QuickSort(x,m+1,r);
}
}
int main(){
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
int n;
scanf("%d",&n);
int a[d];
for (int i=0; i<n; ++i)
scanf("%d",a+i);
QuickSort(a,0,n);
for (int i=0; i<n; ++i)
printf("%d ",a[i]);
return 0;
}