Pagini recente » Cod sursa (job #3284301) | Cod sursa (job #2189208) | Cod sursa (job #3342845) | Cod sursa (job #3303702) | Cod sursa (job #3326673)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 500000
int v[MAXN];
void myqsort(int st, int dr){
int mij = (st+dr)/2,b = st,e = dr,aux;
while ( v[b] < v[mij] )
b++;
while( v[e] > v[mij])
e--;
while(b < e){
aux = v[b];
v[b] = v[e];
v[e] = aux;
do
b++;
while(v[b] < v[mij]);
do
e--;
while(v[e] > v[mij]);
}
if(e > st)
myqsort(st,e);
if(e + 1 < dr)
myqsort(e+1,dr);
}
int main()
{
FILE*fin;
FILE*fout;
fin = fopen("algsort.in","r");
fout = fopen("algsort.out","w");
int n;
fscanf(fin,"%d",&n);
for(int i = 0; i < n;fscanf(fin,"%d",&v[i++]));
myqsort(0,n-1);
for(int i = 0; i < n;fprintf(fout,"%d ",v[i++]));
return 0;
}