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