Pagini recente » Borderou de evaluare (job #2521214) | Borderou de evaluare (job #76346) | Borderou de evaluare (job #2401750) | Borderou de evaluare (job #1383091) | Cod sursa (job #2609394)
#include <stdio.h>
#include <stdlib.h>
FILE *fin , *fout;
unsigned int v[500000];
void myqsort(unsigned int v[],int begin,int end) {
int aux,b=begin,e=end;
int pivot=v[(begin+end)/2];
while(b<=e) {
while(v[b]<pivot) {
b++;
}
while(v[e]>pivot) {
e--;
}
if(b<=e) {
aux=v[b];
v[b]=v[e];
v[e]=aux;
b++;
e--;
}
}
if(begin<e) {
myqsort(v,begin,e);
}
if(b<end) {
myqsort(v,b,end);
}
}
int main() {
fin=fopen("algsort.in","r");
fout=fopen("algsort.out","w");
int n,i;
fscanf(fin,"%d",&n);
for(i=0;i<n;i++) {
fscanf(fin,"%d",&v[i]);
}
myqsort(v,0,n-1);
for(i=0;i<n;i++) {
fprintf(fout,"%d ",v[i]);
}
fprintf(fout,"\n");
fclose(fin);
fclose(fout);
return 0;
}