Pagini recente » Cod sursa (job #170975) | Cod sursa (job #3249614) | Cod sursa (job #977128) | Cod sursa (job #2261587) | Cod sursa (job #751680)
Cod sursa(job #751680)
#include<stdio.h>
#define dim 500010
FILE*f=fopen("algsort.in","r");
FILE*g=fopen("algsort.out","w");
int V[dim],n,aux;
int poz(int st,int dr){
int i=st,j=dr;
int ii=0,jj=-1;
while(i!=j){
if(V[i]>V[j]){
V[i]^=V[j]^=V[i]^=V[j];
aux=ii;
ii=-jj;
jj=-aux;
}
i+=ii;j+=jj;
}
return i;
}
void quick(int st,int dr){
int p;
if(st<dr){
p=poz(st,dr);
quick(st,p-1);
quick(p+1,dr);
}
}
int main(){
int i;
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&V[i]);
quick(1,n);
for(i=1;i<=n;i++)
fprintf(g,"%d ",V[i]);
return 0;
}