数组
a = {}
for i = 1, 1000 do
a[i] = 0
end
print(#a) -->1000
a = {}
for i = -5, 5 do
a[i] = 0
end
矩阵
mt = {}
for i = 1, N do
mt[i] = {}
for j = 1, M do
mt[i][j] = 0
end
end
mt = {}
for i, N do
for j = 1, M do
mt[(i - 1)* M + j] = 0
end
end
将矩阵乘以一个常数
function mult (a, rowindex, k)
local row = a[rowindex]
for i, v in pairs(row) do
row[i] = v * k
end
end
链表
list = {next = list, value = v}
遍历列表
lcoal l = list
while l do
<>
l = l.next
end
队列
List = {}
function List.new ()
return {first = 0, last = -1}
end
function List.pushfirst (list, value)
local first = list.first - 1
list.first = first
list[first] = value
end
function List.pushlast (list, value)
local last = list.last + 1
list.last = last
list[last] = value
end
function List.popfirst (list)
local first = list.first
if first > list.last then
error("list is empty")
end
local value = list[first]
list[first] = nil
list.first = first + 1
return value
end
function List.poplast (list)
local last = list.last
if list.first > last then
error("list is empty")
end
local value = list[last]
list[last] = nil
list.last = last - 1
return value
end
l = List.new()
List.pushfirst(l, "sun")
List.pushfirst(l, "yan")
print(List.popfirst(l))
print(List.popfirst(l))
字符串缓冲
使用函数table.concat
local t = {}
for line in io.read() do
t[#t + 1] = line .. "\n"
end
local s = table.concat(t)
<==>
local t = {}
for line in io.lines() do
t[#t + 1] = line
end
local s = table.concat(t, "\n")
print(s)
lua data structure
最新推荐文章于 2025-01-07 12:51:52 发布