home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
001-099
/
ff055.lzh
/
Csh
/
sort.c
< prev
next >
Wrap
C/C++ Source or Header
|
1987-03-01
|
694b
|
46 lines
/*
* SORT.C
*
* a QuickSort is used for speed, simplicity, and small code size.
*
*/
QuickSort(av, n)
char *av[];
short n;
{
short b;
if (n > 0) {
b = QSplit(av, n);
QuickSort(av, b);
QuickSort(av+b+1, n - b - 1);
}
}
/*
* QSplit called as a second routine so I don't waste stack on QuickSort's
* recursivness.
*/
QSplit(av, n)
register char *av[];
short n;
{
register short i, b;
register char *element, *scr;
element = av[0];
for (b = 0, i = 1; i < n; ++i) {
if (strcmp(av[i], element) < 0) {
++b;
scr = av[i]; av[i] = av[b]; av[b] = scr;
}
}
scr = av[0]; av[0] = av[b]; av[b] = scr;
return (b);
}