functionTestLinked()local list =nilprint("生成链表Begin")for i =10,1,-1doprint("向链表的头部添加:",i)
list ={ next = list ,value = i}endprint("生成链表End")print("打印链表:")local ret =""local l = list
while l doif l.next then
ret = ret .. l.value .."=>"else
ret = ret .. l.value
end
l = l.next
endprint(ret)endTestLinked()
二、队列与双向队列(queue)
---先进先出functionTestQueue()local List ={}--创建function List.new()return{first =0,last =-1}endfunction List.push(list,value)local first = list.first -1
list.first = first
list[first]= value
endfunction List.pop(list)local last = list.last
if list.first > last thenerror("List is empty")endlocal value = list[last]
list[last]=nil
list.last = last -1return value
end--测试代码local testList ={first =0,last =-1}for i =1,10doprint("进队列:",i)
List.push(testList,i)endprint("出队列:",List.pop(testList))print("出队列:",List.pop(testList))endTestQueue()