単方向リスト
[低レベル処理関数]


説明

fnFIE_slist_* 関数群は、単方向リストを扱うための関数群です。 リストはF_SLIST_ELEM構造体のみによって構成され、下図のようになります。

slist.png

本リファレンスでは、図中黄色のF_SLIST_ELEM構造体のインスタンスを「要素」、 図中緑色の各要素が持つデータを「データ」と表現します。 本関数群でメモリ操作されるのは、要素のみであり、それぞれが持つデータに関しては 操作されません。従って、リストに要素を追加したり、削除したりする場合は、 それがもつデータをユーザー側が管理をしなければいけません。


データ構造

struct  F_SLIST_ELEM
 単方向リスト要素 [詳細]

関数

INT FVALGAPI fnFIE_slist_push_back (F_SLIST_ELEM **listtop, VOID *p)
 末尾に追加
VOID *FVALGAPI fnFIE_slist_pop_back (F_SLIST_ELEM **listtop)
 末尾の要素を取り出して削除
INT FVALGAPI fnFIE_slist_push_front (F_SLIST_ELEM **listtop, VOID *p)
 先頭に追加
VOID *FVALGAPI fnFIE_slist_pop_front (F_SLIST_ELEM **listtop)
 先頭から要素を取り出して削除
INT FVALGAPI fnFIE_slist_findit (F_SLIST_ELEM **listtop, const VOID *p)
 *pを持つ要素の番号を取得
INT FVALGAPI fnFIE_slist_erase (F_SLIST_ELEM **listtop, INT idx)
 idx番目の要素を削除
VOID FVALGAPI fnFIE_slist_clear (F_SLIST_ELEM **listtop)
 要素を全部削除
INT FVALGAPI fnFIE_slist_insert (F_SLIST_ELEM *left, VOID *p)
 要素を挿入
INT FVALGAPI fnFIE_slist_get_sz (F_SLIST_ELEM **listtop)
 リストのサイズを取得
VOID *FVALGAPI fnFIE_slist_getat (F_SLIST_ELEM **listtop, INT idx)
 idx番目のデータを取得

関数

INT FVALGAPI fnFIE_slist_push_back ( F_SLIST_ELEM **  listtop,
VOID *  p 
)

末尾に追加

引数:
[in] listtop リスト先頭
[in] p 追加するデータのポインタ
戻り値:
F_ERR_NONE 正常終了
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_INVALID_PARAM パラメータ不正のため異常終了

VOID* FVALGAPI fnFIE_slist_pop_back ( F_SLIST_ELEM **  listtop  ) 

末尾の要素を取り出して削除

引数:
[in] listtop リスト先頭
戻り値:
正常終了時は取り出した要素が持つデータのポインタを返します。 異常終了した場合は、NULLを返します。

INT FVALGAPI fnFIE_slist_push_front ( F_SLIST_ELEM **  listtop,
VOID *  p 
)

先頭に追加

引数:
[in] listtop リスト先頭
[in] p 追加するデータのポインタ
戻り値:
F_ERR_NONE 正常終了
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_INVALID_PARAM パラメータ不正のため異常終了

VOID* FVALGAPI fnFIE_slist_pop_front ( F_SLIST_ELEM **  listtop  ) 

先頭から要素を取り出して削除

引数:
[in] listtop リスト先頭
戻り値:
正常終了時は取り出した要素が持つデータのポインタを返します。 異常終了した場合は、NULLを返します。

INT FVALGAPI fnFIE_slist_findit ( F_SLIST_ELEM **  listtop,
const VOID *  p 
)

*pを持つ要素の番号を取得

引数:
[in] listtop リスト先頭
[in] p 探し出すデータのアドレス
戻り値:
データが見つかった場合は、その要素番号を返します。 見つからなかった場合もしくは、入力が不正だった場合は、-1を返します。

INT FVALGAPI fnFIE_slist_erase ( F_SLIST_ELEM **  listtop,
INT  idx 
)

idx番目の要素を削除

引数:
[in] listtop リスト先頭
[in] idx 削除する要素番号
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_PARAM パラメータ不正のため異常終了

VOID FVALGAPI fnFIE_slist_clear ( F_SLIST_ELEM **  listtop  ) 

要素を全部削除

引数:
[in] listtop リスト先頭

INT FVALGAPI fnFIE_slist_insert ( F_SLIST_ELEM left,
VOID *  p 
)

要素を挿入

left に指定された要素の後ろに新たな要素を追加します。

引数:
[in] left 挿入箇所の一つ手前の要素
[in] p 挿入するデータのポインタ
戻り値:
F_ERR_NONE 正常終了
F_ERR_NOMEMORY メモリ不足エラー
F_ERR_INVALID_PARAM パラメータ不正のため異常終了

INT FVALGAPI fnFIE_slist_get_sz ( F_SLIST_ELEM **  listtop  ) 

リストのサイズを取得

引数:
[in] listtop リスト先頭
戻り値:
リストの要素数を返します。入力が不正だった場合は、-1を返します。

VOID* FVALGAPI fnFIE_slist_getat ( F_SLIST_ELEM **  listtop,
INT  idx 
)

idx番目のデータを取得

引数:
[in] listtop リスト先頭
[in] idx 取得する要素の番号
戻り値:
正常終了した場合は指定番号の要素が持つデータのポインタを返します。 入力が不正だった場合(idx が範囲外、listtop がNULL)は、NULLを返します。


Documentation copyright © 2009-2024 FAST Corporation.
Generated on Fri Aug 9 16:38:48 2024 for FIEライブラリ by doxygen 1.5.6-FASTSP-p2