590
回編集
差分
ページの作成:「<strong>QSORT</strong> ==概要== #include <stdlib.h> void qsort(void * base, size_t nel, size_t width, int (*func)()) ==詳細== <strong>Qsort</strong>()...」
<strong>QSORT</strong>
==概要==
#include <stdlib.h>
void qsort(void * base, size_t nel,
size_t width, int (*func)())
==詳細==
<strong>Qsort</strong>()はクイックソートアルゴリズムを実装したものだす。baseの位置のメモリに連続するそれぞれの幅のバイトの配列をソートします。
funcは<strong>qsort</strong>() がアイテムを比較すると吉使われる関数へのポインタです。2つのアイテムへのポインタを比較するためにfuncを呼び出します。最初のアイテムが、2番目よりも、大きい、等しい、小さい場合、それぞれ<strong>func</strong>()が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を使用することに注意してください。
==概要==
#include <stdlib.h>
void qsort(void * base, size_t nel,
size_t width, int (*func)())
==詳細==
<strong>Qsort</strong>()はクイックソートアルゴリズムを実装したものだす。baseの位置のメモリに連続するそれぞれの幅のバイトの配列をソートします。
funcは<strong>qsort</strong>() がアイテムを比較すると吉使われる関数へのポインタです。2つのアイテムへのポインタを比較するためにfuncを呼び出します。最初のアイテムが、2番目よりも、大きい、等しい、小さい場合、それぞれ<strong>func</strong>()が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を使用することに注意してください。