FSF.qsort

Programming Far Manager plugins

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 в качестве третьего параметра.

Возвращаемое значение

Нет.

Примечание

Функция реализует нестабильную сортировку. Иными словами, порядок элементов, равных с точки зрения функции сравнения, не определён и может меняться при повторных сортировках уже отсортированного массива.
Смотрите также: