第一版是为 Lua 5.0 编写的。虽然在很大程度上仍然适用于后续版本,但有一些差异。
第四版针对 Lua 5.3,可在 Amazon 和其他书店购买。
购买本书,您还可以帮助支持 Lua 项目。
用 Lua 编程 | ||
第二部分。表和对象 第 11 章。数据结构 |
由于表是动态实体,因此在 Lua 中实现链表非常容易。每个节点都由一个表表示,链接只是包含对其他表的引用的表字段。例如,要实现一个基本列表,其中每个节点有两个字段,next
和 value
,我们需要一个变量作为列表根
list = nil要在列表开头插入一个元素,其值为
v
,我们执行
list = {next = list, value = v}要遍历列表,我们编写
local l = list while l do print(l.value) l = l.next end
其他类型的列表,例如双向链表或循环链表,也可以轻松实现。但是,在 Lua 中很少需要这些结构,因为通常有更简单的方法来表示数据而不使用列表。例如,我们可以用一个(无界)数组表示一个堆栈,其中一个字段 n
指向顶部。
版权所有 © 2003–2004 Roberto Ierusalimschy。保留所有权利。 |