qsort - quick sort
subroutine qsort (array, len, isize, compar)
One dimensional array contains the elements to be sorted. len is the
number of elements in the array. isize is the size of an element,
4 for integer and real
8 for double precision or complex
16 for double complex
(length of character object) for character arrays
Compar is the name of a user supplied integer*2 function that will
determine the sorting order. This function will be called with 2
arguments that will be elements of array. The function must return -
negative if arg 1 is considered to precede arg 2
zero if arg 1 is equivalent to arg 2
positive if arg 1 is considered to follow arg 2
On return, the elements of array will be sorted.
qsort - quicker sort
void qsort (void* base, size_t nel, size_t width, int (*compar)
(const void *, const void *));
qsort is an implementation of the quicker-sort algorithm. It sorts a
table of data in place. The contents of the table are sorted in
ascending order according to the user-supplied comparison function.
base points to the element at the base of the table. nel is the number
of elements in the table. width specifies the size of each element in
bytes. compar is the name of the comparison function, which is called
with two arguments that point to the elements being compared. The
function must return an integer less than, equal to, or greater than zero
to indicate if the first argument is to be considered less than, equal
to, or greater than the second.
The contents of the table are sorted in ascending order according to the
user supplied comparison function.
sort(1), bsearch(3C), lsearch(3C), string(3C)
The comparison function need not compare every byte, so arbitrary data
may be contained in the elements in addition to the values being
The use of void * pointer types circumvents the need for casts in older
versions of qsort.
The relative order in the output of two items that compare as equal is
PPPPaaaaggggeeee 1111 [ Back ]