Pagini recente » Cod sursa (job #1727347) | Cod sursa (job #2631425) | Cod sursa (job #1996209) | Cod sursa (job #3240094) | Cod sursa (job #1493077)
#include <cstdio>
#include <ios>
#define nmx 500002
using namespace std;
int n,v[nmx];
void read(){
scanf("%d", &n);
for(int i = 1; i <= n; ++i)
scanf("%d", &v[i]);
}
void qsort(int left, int right){
int pivot = v[left + (right - left) / 2], i = left, j = right;
while(i <= j){
while(v[i] < pivot)
++ i;
while(v[j] > pivot)
-- j;
if(i <= j){
swap(v[i],v[j]);
++ i;
-- j;
}
}
if(left < j)
qsort(left,j);
if(right > i)
qsort(i,right);
}
void output(){
for(int i = 1; i <= n; ++i)
printf("%d ", v[i]);
}
int main(){
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
read();
qsort(1,n);
output();
return 0;
}