Files
mips/_old/src/qsort.c
T
jens 26291bca3d - initial import
git-svn-id: http://moon:8086/svn/mips@1 a8ebac50-d88d-4704-bea3-6648445a41b3
2014-07-20 15:01:37 +00:00

61 lines
726 B
C

/* quick sort */
#include <stdio.h>
#include <stdlib.h>
#define N 10000
int a[N];
rnum() {
return( rand()%N );
}
initran() {
int i;
for(i=0; i<N; i++)
a[i] = rnum();
}
qsort2(l,r)
int l,r;
{
int v,t,i,j;
if ( r>l ) {
v = a[r];
i = l-1;
j = r;
do {
do i++; while (a[i] < v);
do j--; while (a[j] > v);
t = a[i];
a[i] = a[j];
a[j] = t;
} while( j > i);
a[j] = a[i];
a[i] = a[r];
a[r] = t;
qsort2(l,i-1);
qsort2(i+1,r);
}
}
show(n)
int n;
{
int i;
for(i=0; i<n; i++) printf("%d ",a[i]);
printf("\n");
}
main() {
while(1)
{
initran();
qsort2(0,N);
show(N);
}
}