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 в качестве третьего параметра.Возвращаемое значение
Нет.
Примечание
Функция реализует нестабильную сортировку. Иными словами, порядок элементов, равных с точки зрения функции сравнения, не определён и может меняться при повторных сортировках уже отсортированного массива.
Смотрите также: