"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 が空の場合はTruetime: O(1)
    ds["Fold",fun,init]funds の要素に適用する.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]xds の最後に加えるtime: O(1)
    ds["PushList",elems]elemsds の最後に加えるtime: O(nelems)
    ds["Visualization"]ds の可視化を返すtime: O(n)
  • 以下の関数もサポートする.
  • dsi===dsjdsidsj に等しい場合はTrue
    FullForm[ds]ds の完全形
    Information[ds]ds についての情報
    InputForm[ds]ds の入力形
    Normal[ds]ds を通常の式に変換する

例題

すべて開くすべて閉じる

  (2)

新しい"Stack"は,CreateDataStructureを使って作成できる:

ds は最初は空である:

要素を ds に加える:

ds は空ではなくなった:

要素が1個含まれる:

もう一つ要素を加えてからPeekを使うと,最初の要素が表示される:

最後の要素を削除し,それを返す:

式バージョンの ds を返す:

スタック上の最後に要素を加えることは素早くできる:

データ構造の可視化を生成することができる:

全要素を合計する:

スコープ  (1)

情報  (1)

新しい"Stack"は,CreateDataStructureを使って作成することができる:

データ構造 ds についての情報: