Pagini recente » Borderou de evaluare (job #2509172) | Cod sursa (job #1556071) | Istoria paginii utilizator/daneel | Borderou de evaluare (job #2852669) | Cod sursa (job #1699491)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 500000
int v[MAXN];
void myqsort(int begin, int end){
int b=begin, e=end, pivot=v[(b+e)/2];
while(b<=e){
while(v[b]<pivot) b++;
while(v[e]>pivot) e--;
if(b<=e){
int aux=v[b];
v[b]=v[e];
v[e]=aux;
b++;
e--;
}
}
if(b<end) myqsort(b, end);
if(begin<e) myqsort(begin, e);
}
int main()
{
int n, i;
FILE*fi,*fo;
fi=fopen("algsort.in","r");
fo=fopen("algsort.out","w");
fscanf(fi,"%d", &n);
for(i=0;i<n;i++)
fscanf(fi,"%d", &v[i]);
myqsort(0, n-1);
for(i=0;i<n;i++)
fprintf(fo,"%d ", v[i]);
fclose(fi);
fclose(fo);
return 0;
}