Pagini recente » Cod sursa (job #907924) | Cod sursa (job #2556076) | Cod sursa (job #428090) | Cod sursa (job #180421) | Cod sursa (job #767189)
Cod sursa(job #767189)
#include<stdio.h>
typedef unsigned int uint;
FILE *in, *out;
uint v[500000], N;
void quicksort(int l, int r)
{
int aux, ll, rr, il, ir, pivot;
if(l < r)
{
ll = l;
rr = r;
il = 0;
ir = -1;
while(ll < rr)
{
if(v[ll] > v[rr])
{
aux = v[ll]; v[ll] = v[rr]; v[rr] = aux;
aux = -il; il = -ir; ir = aux;
}
ll += il;
rr += ir;
}
pivot = ll;
quicksort(l, pivot - 1);
quicksort(pivot + 1, r);
}
}
int main()
{
int i;
in = fopen("algsort.in", "r");
out = fopen("algsort.out", "w");
fscanf(in, "%d", &N);
for(i = 0; i < N; ++i)
fscanf(in, "%d", &v[i]);
quicksort(0, N-1);
for(i = 0; i < N; ++i)
fprintf(out, "%d ", v[i]);
fprintf(out, "\n");
fclose(in);
fclose(out);
return 0;
}