"Stack" (数据结构)

"Stack"

表示一个表达式堆栈.

更多信息

  • 堆栈是一组支持按后进先出方式插入和删除的元素:
  • CreateDataStructure["Stack"]创建新的空 "Stack"
    CreateDataStructure["Stack",elems]创建含有 elems 的新 "Stack"
    Typed[x,"Stack"]指定 x 的类型为 "Stack"
  • 对于类型为 "Stack" 的数据结构,可进行以下操作:
  • ds["Copy"]返回 ds 的副本时间:O(n)
    ds["DropAll"]删除 ds 中所有的元素时间:O(n)
    ds["Elements"]返回 ds 的元素列表时间:O(n)
    ds["EmptyQ"]ds 为空则返回 True时间:O(1)
    ds["Fold",fun,init]ds 的元素应用 fun,从 init 开始,进行累积计算time: O(n)
    ds["Length"]ds 中元素的数量时间:O(1)
    ds["Peek"]ds 的最后一个元素时间:O(1)
    ds["Pop"]删除 ds 的最后一个元素并返回该元素时间:O(1)
    ds["Push",x]x 添加到 ds 的末尾时间:O(1)
    ds["PushList",elems] elems 添加到 ds 的末尾time: O(nelems)
    ds["Visualization"]返回 ds 的可视化时间:O(n)
  • 还支持以下函数:
  • dsi===dsj如果 dsi 等于 dsj 则为 True
    FullForm[ds]ds 的完全形式
    Information[ds]关于 ds 的信息
    InputForm[ds]ds 的输入形式
    Normal[ds]ds 转换成普通表达式

范例

打开所有单元关闭所有单元

基本范例  (2)

可用 CreateDataStructure 创建新的 "Stack"

ds 被初始化为空:

ds 中添加一个元素:

ds 不再为空:

它有一个元素:

再添加另一个元素并查看. 下面显示最后一个元素:

删除最后一个元素并返回该元素:

返回表达式形式的 ds

可快速地将元素压入堆栈:

可视化数据结构:

求所有元素的和:

范围  (1)

信息  (1)

可用 CreateDataStructure 创建新的 "Stack"

关于数据结构 ds 的信息: