Pagini recente » Cod sursa (job #1957750) | Cod sursa (job #51887) | Cod sursa (job #692691) | Cod sursa (job #482315) | Cod sursa (job #241561)
Cod sursa(job #241561)
#include<fstream>
#include<algorithm>
using namespace std;
int a[500009];
int part(int st,int dr){
int i, j,ii, jj,aux;
i=st;j=dr;
ii=1;
jj=0;
while(i<j){
if(a[i]>a[j]){
swap(a[i],a[j]);
aux=-ii;
ii=-jj;
jj=aux;
}
i+=ii;j+=jj;
}
return i;
}
void sortrap(int p, int u){
if(p<u){
swap(a[p+1],a[u-1]);
int m=part(p,u);
sortrap(p,m-1);
sortrap(m+1,u);
}
}
int main(){
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,i;
f>>n;
for(i=0;i<n;i++)
f>>a[i];
f.close();
sortrap(0,n-1);
for(i=0;i<n;i++)
g<<a[i]<<' ';
g<<'\n';
g.close();
return 0;
}