"LinkedList" (数据结构)
"LinkedList"
表示一个链表,其中的元素为普通表达式.
更多信息
- 链表可用于高效地前置和追加元素:
-
CreateDataStructure["LinkedList"] 创建新的空 "LinkedList" CreateDataStructure["LinkedList",elems] 创建一个包含 elems 的新的空 "LinkedList" Typed[x,"LinkedList"] 指定 x 的类型为 "LinkedList" - 对于类型为 "LinkedList" 的数据结构,可进行以下操作:
-
ds["Append",x] 将 x 追加到 ds 中 时间:O(1) ds["Copy"] 返回 ds 的副本 时间:O(n) ds["DropAll"] 删除 ds 中的所有元素 时间:O(n) ds["DropFirst"] 删除 ds 的第一个元素 时间:O(1) ds["Elements"] 返回 ds 的元素列表 时间:O(n) ds["EmptyQ"] 如果 ds 中没有元素则返回 True 时间:O(1) ds["Fold",fun,init] 将 fun 应用于 ds 的以 init 开始的元素,并累计结果 时间:O(n) ds["JoinBack",elems] 将 elems 添加到 ds 的后端 时间:O(nelems) ds["JoinFront",elems] 将 elems 添加到 ds 的前端 时间:O(nelems) ds["Length"] 存储在 ds 中的元素的数量 时间:O(1) ds["Part",i] 给出 ds 中的第 i 个元素 时间:O(n) ds["Prepend",x] 将 x 添加到 ds 的开头 时间:O(1) ds["SetPart",i,elem] 更新 ds 的第 i 个元素 时间:O(n) ds["SwapPart",i,j] 将 ds 的第 i 个元素和第 j 个元素互换 时间:O(n) ds["Visualization"] 返回 ds 的可视化 时间:O(n) - 还支持以下函数:
-
dsi===dsj 如果 dsi 等于 dsj 则为 True ds["Part",i]=val 将 ds 的第 i 个元素设为 val FullForm[ds] ds 的完全形式 Information[ds] 关于 ds 的信息 InputForm[ds] ds 的输入形式 Normal[ds] 将 ds 转换成普通表达式
范例
打开所有单元关闭所有单元基本范例 (2)
可用 CreateDataStructure 创建新的 "LinkedList":
范围 (1)
信息 (1)
可用 CreateDataStructure 创建新的 "LinkedList":