Pagini recente » Cod sursa (job #2439683) | Cod sursa (job #2375848) | Cod sursa (job #2152030) | Cod sursa (job #2053301) | Cod sursa (job #246082)
Cod sursa(job #246082)
#include <fstream>
#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(){
fin>>n;
for (unsigned int i=1;i<=n;i++)
fin>>v[i];
quicksort(1,n);
for (unsigned int i=1;i<=n;i++)
fout<<v[i]<<" ";
}