Pagini recente » Cod sursa (job #1014985) | Cod sursa (job #587852) | Cod sursa (job #2132231) | Cod sursa (job #2060882) | Cod sursa (job #820824)
Cod sursa(job #820824)
//
//
#include<stdio.h>
FILE *f=fopen("algsort.in","r"), *g=fopen("algsort.out","w");
long v[500000],inj,i,n,aux,sw,k;
void Quicksort(int st, int dr){
int i,j,aux,mij;
i=st;
j=dr;
mij=v[(i+j)/2];
do{
while(mij>v[i])
i++;
while(mij<v[j])
j--;
if(i<=j)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}while(i<=j);
if(st<j)
Quicksort(st,j);
if(dr>i)
Quicksort(i,dr);
}
int main()
{
fscanf(f,"%ld",&n);
for(i=0;i<n;i++)
fscanf(f,"%ld ", &v[i]);
Quicksort(0,n-1);
for(i=0;i<n;i++)
fprintf(g,"%ld ", v[i]);
fclose(f);
fclose(g);
return 0;
}