/* ppps_int_heap.h [サンプルライブラリ] int型のヒープ author: K.Y (Programming Place Plus) version 1.0.3 '2019/10/2 ・Webサイト側が C99規格へ対応したことに合わせて、コードを修正。 コメントスタイルと、変数宣言位置を変えた。 bool型を使う。 1.0.0 '2013/2/3 */ #ifndef PPPS_INT_HEAP_H #define PPPS_INT_HEAP_H #include /* ヒープ型 */ typedef struct PPPSIntHeap_tag* PPPSIntHeap; /* ヒープを作る 引数: capacity: ヒープの最大容量。 戻り値: 作成されたヒープ。 使い終わったら、ppps_int_heap_delete関数に渡して削除する。 */ PPPSIntHeap ppps_int_heap_create(size_t capacity); /* ヒープを削除する 引数: heap: ヒープ */ void ppps_int_heap_delete(PPPSIntHeap heap); /* ヒープに要素を挿入する 引数: heap: ヒープへのポインタ value: 挿入する要素の値 戻り値: 成功したら true、失敗したら false を返す。 */ bool ppps_int_heap_insert(PPPSIntHeap heap, int value); /* ヒープから根を取り除く 引数: heap: ヒープへのポインタ value: 取り除かれた要素を受け取るアドレス 戻り値: 成功したら true、失敗したら false を返す。 */ bool ppps_int_heap_remove_root(PPPSIntHeap heap, int* value); /* ヒープから要素を探す 引数: heap: ヒープ value: 探し出す要素の値 戻り値: 成功したら true、失敗したら false を返す。 */ bool ppps_int_heap_search(const PPPSIntHeap heap, int value); /* ヒープに格納されている要素数を返す 引数: heap: ヒープ 戻り値: 格納されている要素の個数。 */ size_t ppps_int_heap_getsize(const PPPSIntHeap heap); /* ヒープの内容を出力する 引数: heap: ヒープ */ void ppps_int_heap_print(const PPPSIntHeap heap); #endif