链表

简介: 链表

由于表是动态对象,所以在 Lua 语言中可以很容易地实现链表。我们可以把每个节点用一个表来表示(也只能用表表示),链接则为一个包含指向其他表的引用的简单表字段。例如,让我们实现一个单链表,其中每个节点具有两个字段 valuenext 。最简单的变量就是根节点:

list = nil


要在表头插入一个值为 v 的元素,可以使用如下代码:

list = {next = list, value = v}


可以通过如下的方式遍历链表:

local l = list
while l do
  -- visit l, value
  l = l.next
end


诸如双向链表环形表等其他类型的链表也很容易实现。不过,由于通常无需链表即可用更简单的方式来表示数据,所以在 Lua 语言中很少要用到这些数据结构。例如,我们可以通过一个无界数组来表示

目录
相关文章
|
4月前
|
存储 Python
什么是链表
什么是链表
43 0
|
4月前
|
存储 Java
链表的认识
链表的认识
|
4月前
|
Python
|
4月前
|
存储 缓存 C语言
链表修炼指南
链表修炼指南
|
10月前
|
存储
07 链表
07 链表
28 0
|
存储 索引
关于链表我所知道的
关于链表我所知道的
67 0
|
存储 算法 Java
一文带你深入了解链表(C)
📖作者介绍:22级树莓人(计算机专业),热爱编程<目前在c阶段>——目标C++、Windows,MySQL,Qt,数据结构与算法,Linux,多线程,会持续分享学习成果和小项目的 📖作者主页:热爱编程的小K 📖专栏链接:C 🎉欢迎各位→点赞👏 + 收藏💞 + 留言🔔​ 💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🐾 ———————————————— 版权声明:本文为CSDN博主「热爱编程的小K」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_7215744
|
存储 索引
变幻莫测的链表
双链表 单链表中的指针域只能指向节点的下一个节点。 双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。 双链表 既可以向前查询也可以向后查询。
67 0
|
存储 API
链表——初识链表
链表是一种物理存储单元上非连续、非顺序的存储结构,其物理结构不能只管的表示数据元素的逻辑顺序,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
102 0
链表——初识链表