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

Posted 森明帮大于黑虎帮

tags:

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

假定你想列出在一段源代码中出现的所有标示符,某种程度上,你需要过滤掉那些语言本身的保留字。一些 C 程序员喜欢用一个字符串数组来表示,将所有的保留字放在数组中,对每一个标示符到这个数组中查找看是否为保留字,有时候为了提高查询效率,
对数组存储的时候使用二分查找或者 hash 算法。

Lua 中表示这个集合有一个简单有效的方法,将所有集合中的元素作为下标存放在一个 table 里,下面不需要查找 table,只需要测试看对于给定的元素,表的对应下标的元素值是否为 nil。比如:


输出结果:

还可以使用辅助函数更加清晰的构造集合:

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

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

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

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

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

Lua 模块与包

Lua 模块与包