QSORT
Section: MINTLIB LIBRARY FUNCTIONS
(3)
Updated: 3 March 1993
Index
Return to Main Contents
NAME
qsort - quicker sort
SYNOPSIS
#include <stdlib.h>
qsort(void *base, size_t total_elems, size_t elem_size,
int (*compare)(const void *one, const void *two));
DESCRIPTION
qsort is an implementation of the quicker-sort algorithm.
It sorts a table of data in place.
- base points to the element at the base of
the table.
- total_elems is the number of elements in
the table.
- elem_size is the size, in bytes, of each element
in the table.
- compare is the name of the comparison function,
which is called with two arguments that point to
the elements being compared. As the function must
return an integer less than, equal to, or greater
than zero, so must the first argument to be considered
be less than, equal to, or greater than the second.
EXAMPLE
The following program sorts a simple array:
static int intcompare(const void *i, const void *j)
{
int *one, *two;
one = (int *)i;
two = (int *)j;
return (*one - *two);
}
void main(void)
{
int a[10];
int i;
a[0] = 9;
a[1] = 8;
a[2] = 7;
a[3] = 6;
a[4] = 5;
a[5] = 4;
a[6] = 3;
a[7] = 2;
a[8] = 1;
a[9] = 0;
qsort(a, 10, sizeof(int), intcompare);
for (i = 0; i < 10; i++)
printf(" %d", a[i]);
printf("n");
}
SEE ALSO
bsearch(3)
NOTES
The comparison function need not compare every byte, so
arbitrary data may be contained in the elements in addition
to the values being compared.
The order in the output of two items which compare as equal
is unpredictable.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- EXAMPLE
-
- SEE ALSO
-
- NOTES
-
This document was created by
man2html,
using the manual pages.
Time: 08:59:17 GMT, February 14, 2025