1. 表(Table):
- 表是Lua中最为灵活和常用的数据结构,它可以被用作数组、哈希表、对象等。表的索引可以是任意类型,包括整数、字符串和其他表。
-- 创建表
local myTable = {1, 2, 3, key = "value"}
-- 访问表元素
print(myTable[1]) -- 输出:1
print(myTable["key"]) -- 输出:"value"
2. 字符串(String):
- 字符串是由字符组成的序列,可以通过单引号或双引号表示。
local myString = "Hello, Lua!"
3. 数组(Array):
- 在Lua中,表经常被用作数组。数组元素从1开始,可以是任意类型。
local myArray = {10, 20, 30, 40}
print(myArray[2]) -- 输出:20
4. 队列(Queue):
- 使用表模拟队列,通过table.insert和table.remove操作。
local myQueue = {1, 2, 3}
-- 入队
table.insert(myQueue, 4)
-- 出队
local front = table.remove(myQueue, 1)
print(front) -- 输出:1
5. 栈(Stack):
- 使用表模拟栈,通过table.insert和table.remove操作。
local myStack = {1, 2, 3}
-- 入栈
table.insert(myStack, 4)
-- 出栈
local top = table.remove(myStack)
print(top) -- 输出:4
6. 集合(Set):
- 使用表来表示集合,通过表的键来存储元素。
local mySet = {apple = true, banana = true, orange = true}
-- 检查集合中是否包含某元素
print(mySet.apple) -- 输出:true
7. 迭代器(Iterator):
- 使用pairs函数迭代表的键值对,使用ipairs函数迭代数组。
local myTable = {a = 10, b = 20, c = 30}
-- 迭代键值对
for key, value in pairs(myTable) do
print(key, value)
end
-- 迭代数组
local myArray = {10, 20, 30}
for index, value in ipairs(myArray) do
print(index, value)
end
这些数据结构提供了灵活和强大的工具,可以根据具体的应用场景选择合适的数据结构。在实际编程中,通常会根据需求选择合适的数据结构进行组织和存储数据。
转载请注明出处:http://www.zyzy.cn/article/detail/6523/Lua