-
「Functions HI-TECH C QSORT」の版間の差分
提供: HI-TECH C for CP/M Fan WIKI(JP)
(ページの作成:「<strong>QSORT</strong> ==概要== #include <stdlib.h> void qsort(void * base, size_t nel, size_t width, int (*func)()) ==詳細== <strong>Qsort</strong>()...」) |
(相違点なし)
|
2017年12月29日 (金) 17:30時点における最新版
QSORT
概要
#include <stdlib.h> void qsort(void * base, size_t nel, size_t width, int (*func)())
詳細
Qsort()はクイックソートアルゴリズムを実装したものだす。baseの位置のメモリに連続するそれぞれの幅のバイトの配列をソートします。
funcはqsort() がアイテムを比較すると吉使われる関数へのポインタです。2つのアイテムへのポインタを比較するためにfuncを呼び出します。最初のアイテムが、2番目よりも、大きい、等しい、小さい場合、それぞれfunc()が0より大きい、0、0より小さい数を返します。
static short array[100]; #define SIZE sizeof array/sizeof array[0] a_func(p1, p2) short * p1, * p2; { return *p1 - *p2; } sort_em() { qsort(array, SIZE, sizeof array[0], a_func); }
これは昇順で配列をソートします。 shortのサイズから、もしくは配列内の要素数から独立してコードを作成する時にはsizeofを使用することに注意してください。