lua中用table实现队列

来源:互联网 发布:人物动作设计软件 编辑:程序博客网 时间:2024/05/18 00:37
List = {}function List.new ()    return {first = 0, last = -1}endfunction List.pushleft (list, value)    local first = list.first - 1    list.first = first    list[first] = valueendfunction List.pushright (list, value)    local last = list.last + 1    list.last = last    list[last] = valueendfunction List.popleft (list)    local first = list.first    if first > list.last then error("list is empty") end    local value = list[first]    list[first] = nil -- to allow garbage collection    list.first = first + 1    return valueendfunction List.popright (list)    local last = list.last    if list.first > last then error("list is empty") end    local value = list[last]    list[last] = nil -- to allow garbage collection    list.last = last - 1    return valueend
2 0
原创粉丝点击