Lua用table实现各种数据结构-链表

Posted 森明帮大于黑虎帮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua用table实现各种数据结构-链表相关的知识,希望对你有一定的参考价值。

Lua 中用 tables 很容易实现链表,每一个节点是一个 table,指针是这个表的一个域(field),并且指向另一个节点(table)。在lua中很少用到链表,但是使用table很容易实现链表。就如同C语言中,一个table当做一个节点。每个节点有2个字段,一个字段包含对其他table的引用,一个字段是当前节点的value

代码如下:例如,要实现一个只有两个域:值和指针的基本链表,代码如下:

结果如下 :

其他类型的链表,像双向链表循环链表类似的也是很容易实现的。然后在 Lua 中在很少情况下才需要这些数据结构,因为通常情况下有更简单的方式来替换链表。比如,我们可以用一个非常大的数组来表示栈,其中一个域 n 指向栈顶。

以上是关于Lua用table实现各种数据结构-链表的主要内容,如果未能解决你的问题,请参考以下文章

Lua用table实现各种数据结构-队列

Lua用table实现各种数据结构-多维数组

Lua中使用table实现的其它5种数据结构

Lua用table实现各种数据结构-集合与包

Lua用table实现各种数据结构-字符串缓冲

lua中table的实现