Pagini recente » Cod sursa (job #2822659) | Cod sursa (job #685974) | Cod sursa (job #581383) | Cod sursa (job #534927) | Cod sursa (job #246083)
Cod sursa(job #246083)
#include <stdio.h>
#include <algorithm>
using namespace std;
//fstream fin ("algsort.in",ios::in);
//fstream fout("algsort.out",ios::out);
unsigned int v[500001],n;
int imparte(int st,int dr){
bool dir=true;
while (st<dr){
if (v[st]>v[dr]){
swap(v[st],v[dr]);
dir=!dir;
}
if (dir) dr--; else st++;
}
return st;
}
void quicksort(int st,int dr){
int aux;
if (st<dr){
aux=imparte(st,dr);
quicksort(st,aux-1);
quicksort(aux+1,dr);
}
}
int main(){
freopen ("algsort.in","r",stdin);
freopen ("algsort.out","w",stdout);
scanf("%ld",&n);
for (int i=1;i<=n;++i)
scanf("%ld",&v[i]);
quicksort(1,n);
for(int i=1;i<=n;++i)
printf("%ld ",v[i]);
}