Pagini recente » Cod sursa (job #2296514) | Cod sursa (job #1512731) | Cod sursa (job #3208518) | Cod sursa (job #284314) | Cod sursa (job #659350)
Cod sursa(job #659350)
#include <stdio.h>
#define nmax 500010
int v[nmax];
void quick(int li, int ls){
int i=li,j=ls;
int pivot=v[li+(ls-li)/2];
int aux;
while(i<=j){
while(v[i]<pivot)i++;
while(v[j]>pivot)j--;
if(i<=j){
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}
if(li<j)quick(li,j);
if(i<ls)quick(i,ls);
}
int main(){
int n;
FILE *fin=fopen("algsort.in","r");
fscanf(fin,"%d",&n);
int i;
for(i=0;i<n;i++){
fscanf(fin,"%d",&v[i]);
}
fclose(fin);
quick(0,n-1);
FILE *fout=fopen("algsort.out","w");
for(i=0;i<n;i++){
fprintf(fout,"%d ",v[i]);
}
fclose(fout);
return 0;
}