| www.delorie.com/djgpp/doc/libc-2.01/libc_519.html | search |
#include <stdlib.h>
void qsort(void *base, size_t numelem, size_t size,
int (*cmp)(const void *e1, const void *e2));
This function sorts the given array in place. base is the address
of the first of numelem array entries, each of size size
bytes. qsort uses the supplied function cmp to determine
the sort order for any two elements by passing the address of the two
elements and using the function's return address.
The return address of the function indicates the sort order:
None.
typedef struct {
int size;
int sequence;
} Item;
int qsort_helper_by_size(void *e1, void *e2)
{
return ((Item *)e2)->size - ((Item *)e1)->size;
}
Item list[100];
qsort(list, 100, sizeof(Item), qsort_helper_by_size);
int qsort_stringlist(void *e1, void *e2)
{
return strcmp(*(char **)e1, *(char **)e2);
}
char *slist[10];
/* alphabetical order */
qsort(slist, 10, sizeof(char *), qsort_stringlist);
Go to the first, previous, next, last section, table of contents.
| prev next webmaster | delorie software privacy |
| Copyright © 1997 | Updated Apr 1997 |