LUA的table结构是很强大的,能实现很多复杂的数据结构; 这里给出一个简单的链表实现;我在学LUA程序设计第二版时写的。 1.创建顺序单链表 head = nil local last = head for i=1, 10 do local val = io.read() if not head then head = { next = nil, data = val } last = head else last.next = { next = nil, data = val } last = last.next end end 2. 定义链表迭代器 function ListIter( head ) local p = head return function () if not p then return end local ret = p.data p = p.next return ret end end 3.遍历一个链表 local iter = ListIter( head ) -- 得到一个迭代器闭包 while true do local ret = iter() if not ret then break end print( ret ) end