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

並べ替えに使用する要素比較を実装する関数へのポインター。

戻り値

なし

解説

EngSort では、pjBufcjElem 要素を並べ替えるクイック並べ替えアルゴリズムが実装されています。各要素のサイズは c です。 並べ替えられた要素は pjBuf で返されます。つまり、バッファーの元の内容は、並べ替えられた結果で上書きされます。

2 つの要素を比較するための基礎は、 pfnComp が指す関数で定義されます。 この関数は、次のようにプロトタイプ化されます。

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

ここで 、pv1pv2 は比較する 2 つの要素を指します。 戻り値は、次のように定義された比較の結果です。

戻り値 説明
負の整数 *pv1<*pv2
ゼロ *pv1 == *pv2
正の整数 *pv1>*pv2
 

配列は、 pfnComp パラメーターによって定義される昇順で並べ替えられます。

要件

   
サポートされている最小のクライアント Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム ユニバーサル
Header winddi.h (Winddi.h を含む)
Library Win32k.lib
[DLL] Win32k.sys