Поделиться через


Функция EngSort (winddi.h)

Функция EngSort выполняет быструю сортировку по указанному списку.

Синтаксис

ENGAPI VOID EngSort(
  [in, out] PBYTE    pjBuf,
  [in]      ULONG    c,
  [in]      ULONG    cjElem,
  [in]      SORTCOMP pfnComp
);

Параметры

[in, out] pjBuf

Указатель на массив данных для сортировки.

[in] c

Задает размер (в байтах) каждого элемента в pjBuf.

[in] cjElem

Указывает количество элементов в pjBuf для сортировки.

[in] pfnComp

Указатель на функцию, реализующую сравнение элементов, используемых для сортировки.

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

None

Remarks

EngSort реализует алгоритм быстрой сортировки для сортировки элементов cjElem в pjBuf, где каждый элемент имеет размер c. Отсортированные элементы возвращаются в pjBuf; то есть исходное содержимое буфера перезаписывается с помощью отсортированных результатов.

База для сравнения двух элементов определена в функции, на которую указывает pfnComp . Эта функция прообразуется следующим образом:

int (__cdecl *SORTCOMP)(const void *pv1, const void *pv2);

где pv1 и pv2 указывают на два сравниваемых элемента. Возвращаемое значение является результатом сравнения, определенного следующим образом:

Возвращаемое значение Значение
Отрицательное целое число *pv1<*pv2
Ноль *pv1 == *pv2
Положительное целое число *pv1>*pv2
 

Массив сортируется в порядке увеличения, который определяется параметром pfnComp .

Требования

   
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть winddi.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys