qsort
Функция
FSF.qsort
осуществляет сортировку данных с использованием алгоритма QuickSort.
void WINAPI qsort( void *Base, size_t NElem, size_t Width, int (WINAPI *fcmp)(const void *, const void *, void *), void *UserParam );
Параметры
Base
Указатель на начало данных для сортировки.
NElem
Количество сортируемых данных.
Width
Размер одного элемента сортируемых данных.
fcmp
Функция сравнения двух элементов. В процессе сортировки вызывается каждый раз, когда необходимо сравнить пару элементов данных.
Функция сравнения
fcmp
должна иметь декларацию WINAPI
.fcmp
получает три аргумента - elem1
, elem2
(которые являются указателями на данные) и userparam
(то, что было передано в функцию в качестве параметра UserParam
),
и возвращает результат:
*elem1 < *elem2 | - fcmp возвращает целое меньше 0 |
*elem1 == *elem2 | - fcmp возвращает 0 |
*elem1 > *elem2 | - fcmp возвращает целое больше 0 |
UserParam
Указатель на пользовательские данные, которые функция
qsort
будет передавать в функцию сравнения fcmp
в качестве третьего параметра.Возвращаемое значение
Нет.
Примечание
Функция реализует нестабильную сортировку. Иными словами, порядок элементов, равных с точки зрения функции сравнения, не определён и может меняться при повторных сортировках уже отсортированного массива.
Смотрите также: