Отсортировать массив
#include <stdlib.h>void qsort( void *base,size_t num,size_t width,int (*compare)( const void *,const void * ) );
libc
Функция qsort() сортирует массив base, используя функцию сравнения compare. Массив должен содержать не менее num элементов, размер каждого из которых равен width байт.
#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);}
Код генерирует следующий вывод:
$ ./a.out first last middle
ANSI, POSIX 1003.1
Предыдущий раздел: Описание API системной библиотеки