"Stack" (データ構造)
"Stack" (データ構造)
"Stack"
式のスタックを表す.
詳細
- スタックは,先入れ先出しの挿入と削除をサポートする要素の集合である.
-
CreateDataStructure["Stack"] 新しい空の"Stack"を作成する CreateDataStructure["Stack",elems] elems を含む新しい"Stack"を作成する Typed[x,"Stack"] x に "Stack"型を与える - "Stack"型のデータ構造には,以下の演算が使える.
-
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["Fold",fun,init] fun を ds の要素に適用する.init で始めて,結果を累積する time: O(n) ds["Length"] ds 内の要素の数 time: O(1) ds["Peek"] ds の最後の要素 time: O(1) ds["Pop"] ds の最後の要素を削除し,それを返す time: O(1) ds["Push",x] x を ds の最後に加える time: O(1) ds["PushList",elems] elems を ds の最後に加える time: O(nelems) ds["Visualization"] ds の可視化を返す time: O(n) - 以下の関数もサポートする.
-
dsi===dsj dsi が dsj に等しい場合はTrue FullForm[ds] ds の完全形 Information[ds] ds についての情報 InputForm[ds] ds の入力形 Normal[ds] ds を通常の式に変換する
例題
すべて開く すべて閉じる例 (2)
新しい"Stack"は,CreateDataStructureを使って作成できる:
ds = CreateDataStructure["Stack"]ds["EmptyQ"]ds["Push", f[1]]ds["EmptyQ"]ds["Length"]もう一つ要素を加えてからPeekを使うと,最初の要素が表示される:
ds["Push", f[2]];
ds["Peek"]ds["Pop"]Normal[ds]ds = CreateDataStructure["Stack"];
Do[ds["Push", i], {i, 1000}]ds["Visualization"]ds["Fold", Plus, 0]スコープ (1)
情報 (1)
新しい"Stack"は,CreateDataStructureを使って作成することができる:
ds = CreateDataStructure["Stack"]Information[ds]履歴
2020 で導入 (12.1)