Pagini recente » Cod sursa (job #2475635) | Cod sursa (job #1658909) | Cod sursa (job #1741624) | Cod sursa (job #2608464) | Cod sursa (job #2849827)
#include <fstream>
#define DIM 500001
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,i,v[DIM];
int poz(int st,int dr) {
int i=st,j=dr;
int di=0,dj=-1;
int aux;
while (i<j) {
if (v[i]>v[j]) {
swap(v[i],v[j]);
aux=di;
di-=dj;
dj=-aux;
}
i+=di;
j+=dj;
}
return i;
}
void sortare(int st,int dr) {
if (st<dr) {
int p=poz(st,dr);
sortare(st,p-1);
sortare(p+1,dr);
}
}
int main() {
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
sortare(1,n);
for (i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}