Pagini recente » Cod sursa (job #2026494) | Cod sursa (job #1843896) | Cod sursa (job #1257949) | Cod sursa (job #884081) | Cod sursa (job #1589857)
#include <stdio.h>
#include <algorithm>
using namespace std;
int v[500005];
void quickSort(int l, int r){
int mn,mx,mj;
mn = l;
mx = r;
mj = v[l+(r-l)/2];
do{
while(v[mn] < mj){
mn++;
}
while(v[mx] > mj){
mx--;
}
if(mn <= mx){
swap(v[mn],v[mx]);
mn++;
mx--;
}
}while(mn <= mx);
if(l < mx){
quickSort(l, mx);
}
if(mn < r){
quickSort(mn, r);
}
}
int main()
{
int n;
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "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]);
}
return 0;
}