"RingBuffer" (データ構造)
"RingBuffer"
要素が一般式であるリングバッファを表す.
詳細
- リングバッファは,固定数の要素を効率的に保存するのに役立つ.
-
CreateDataStructure["RingBuffer",capacity] capacity 要素まで含むことが可能な新しい空の"RingBuffer"を作成する Typed[x,"RingBuffer"] x が"RingBuffer"型を持つように指定する - "RingBuffer"型のデータ構造には,以下の演算が使える.
-
ds["Capacity"] ds に保存できる要素の最大数 time: O(1) ds["Copy"] ds のコピーを返す time: O(n) ds["DropAll"] ds からすべての要素を省く time: O(n) ds["Elements"] ds の要素のリストを返す time: O(n) ds["EmptyQ"] ds が要素を持たない場合はTrue time: O(1) ds["Fold",fun] fun を ds の要素に適用し,結果を累積する time: O(n) ds["Length"] ds に保存された要素の数 time: O(1) ds["PeekBack"] ds の最後の要素 time: O(1) ds["PeekFront"] ds の最初の要素 time: O(1) ds["PopBack"] ds から最後の要素を削除する time: O(1) ds["PopFront"] ds から最初の要素を削除する time: O(1) ds["PushBack",x] x を ds の最後に加え,ds が満杯の場合には最初の要素を省く time: O(1) ds["PushFront",x] x を ds の最初に加え,ds が満杯の場合には最後の要素を省く time: O(1) ds["Visualization"] ds の可視化を返す time: O(n) - 以下の関数もサポートする.
-
dsi===dsj dsi が dsj に等しい場合はTrueを返す FullForm[ds] ds の完全形を表示する Information[ds] ds についての情報を返す InputForm[ds] Wolfram言語への入力に適した ds のバージョンを表示する Normal[ds] ds を通常の式に変換する
例題
すべて開くすべて閉じる例 (3)
スコープ (1)
情報 (1)
新しい"RingBuffer"は,CreateDataStructureを使って作成することができる: