Pagini recente » Cod sursa (job #1047145) | Cod sursa (job #2633433) | Cod sursa (job #2495046) | Cod sursa (job #1937658) | Cod sursa (job #1350390)
#include <iostream>
#include <fstream>
using namespace std;
int N,a[500010];
void swp(int &x, int &y){
int aux=x;
x=y;
y=aux;
}
void qsort(int l, int r){
if (l>=r) return;
int i,c=l,ind;
if ((l+r)%2) ind=(l+r)/2;
else ind=l;
swp(a[ind],a[r]);
for (i=l; i<r; i++)
if (a[i]<=a[r]){
swp(a[i],a[c]);
c++;
}
swp(a[r],a[c]);
qsort(l,c-1);
qsort(c+1,r);
}
int main(){
ifstream fin("algsort.in");
ofstream fout("algsort.out");
fin >> N;
int i;
for (i=1; i<=N; i++) fin >> a[i];
qsort(1,N);
for (i=1; i<=N; i++) fout << a[i] << " ";
return 0;
}