Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/q/qsort.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/q/qsort.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/q/qsort.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/q/qsort.html on line 8
Sort an array
#include <stdlib.h>
void qsort( void* base,
size_t num,
size_t width,
int (*compare) (
const void* ,
const void* ) );
- base
- A pointer to the array that you want to sort.
- num
- The number of elements in the array.
- width
- The size of each element, in bytes.
- compare
- A pointer to a function that compares two entries.
It's called with two arguments that point to elements in the array.
The comparison function must return an integer less than, equal to,
or greater than zero if the first argument is less than, equal to,
or greater than the second argument.
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
The qsort() function sorts the base array using the
comparison function specified by compare.
The array
must have at least num elements, each of width bytes.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* some_strs[] = { "last", "middle", "first" };
int compare( const void* op1, const void* op2 )
{
const char **p1 = (const char **) op1;
const char **p2 = (const char **) op2;
return( strcmp( *p1, *p2 ) );
}
int main( void )
{
qsort( some_strs,
sizeof( some_strs ) / sizeof( char * ),
sizeof(char *),
compare );
printf( "%s %s %s\n",
some_strs[0], some_strs[1], some_strs[2] );
return EXIT_SUCCESS;
}
produces the output:
first last middle
ANSI,
POSIX 1003.1
Safety: | |
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
No |
Thread |
Yes |
bsearch()
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/q/qsort.html on line 163
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/q/qsort.html on line 163