|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
オブジェクトの配列をその場でソートします。クイック・ソート・アルゴリズムを実装しています。
形式
#include <stdlib.h>
void qsort (void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *));
関数バリアント
qsort関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための
_qsort32と
_qsort64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。
引数
base配列の最初のメンバへのポインタ。このポインタは要素へのポインタ型で,文字へのポインタ型にキャストされていなくてはなりません。
nmemb配列の中のオブジェクトの数。
sizeオブジェクトのサイズ (バイト数)。
compar比較関数へのポインタ。
説明
compar がポイントしている比較関数には,2 つの引数が渡されます。この 2 つの引数は,比較されるオブジェクトをポイントしています。第 1 引数が第 2 引数よりも小さい場合,等しい場合,および大きい場合に,比較関数はそれぞれ 0 よりも小さい整数,0,および 0 よりも大きい整数を返します。
比較関数 compar は,すべてのバイトを比較する必要はないので,オブジェクトには比較する値に加えて任意のデータを格納することができます。
比較の結果,等しいと見なされる 2 つのオブジェクトの出力順序は予測不可能です。
|