Base
Указатель на начало данных для сортировки.
NElem
Количество сортируемых данных.
Width
Размер одного элемента сортируемых данных.
fcmp
Функция сравнения двух элементов. В процессе сортировки
вызывается каждый раз, когда необходимо сравнить пару элементов данных.
Функция сравнения
fcmp должна иметь C-декларацию (_USERENTRY или _cdecl).
fcmp получает три аргумента -
elem1,
elem2
(которые являются указателями на данные) и
user (то, что было
передано в функцию в качестве параметра
User),
и возвращает результат:
| *elem1 < *elem2 | - fcmp возвращает целое меньше 0 |
| *elem1 == *elem2 | - fcmp возвращает 0 |
| *elem1 > *elem2 | - fcmp возвращает целое больше 0 |
User
Указатель на пользовательские данные, которые
функция qsortex будет передавать в функцию сравнения fcmp в качестве третьего
параметра.
Функция qsortex() реализует нестабильную сортировку. Иными словами,
порядок элементов, равных с точки зрения функции сравнения, не определён и
может меняться при повторных сортировках уже отсортированного массива.