Lua's table structure is very powerful and can implement many complex data structures;
A simple linked list implementation is provided here.ProgramDesigned for version 2.
1. Create a sequence single-chain table
Head = nil <br/> Local last = head </P> <p> for I = 1, 10 DO <br/> Local val = Io. read () <br/> if not head then <br/> head = {next = nil, data = Val} <br/> last = head <br/> else <br/> last. next = {next = nil, Data = Val} <br/> last = last. next <br/> end <br/>
2. Define the linked list iterator
Function listiter (head) <br/> Local p = head <br/> return function () <br/> if not p then return end <br/> Local ret = P. data <br/> P = P. next <br/> return ret <br/> end
3. traverse a linked list
Local iter = listiter (head) <br/> -- get an iterator closure <br/> while true DO <br/> Local ret = ITER () <br/> if not RET then break end <br/> Print (RET) <br/> end