26 lines
458 B
Lua
26 lines
458 B
Lua
Queue = {}
|
|
|
|
function Queue.new()
|
|
return { first = 0, last = -1 }
|
|
end
|
|
|
|
function Queue.push( queue, value )
|
|
queue.last = queue.last + 1
|
|
queue[queue.last] = value
|
|
end
|
|
|
|
function Queue.pop( queue )
|
|
if queue.first > queue.last then
|
|
return nil
|
|
end
|
|
|
|
local val = queue[queue.first]
|
|
queue[queue.first] = nil
|
|
queue.first = queue.first + 1
|
|
return val
|
|
end
|
|
|
|
function Queue.empty( queue )
|
|
return queue.first > queue.last
|
|
end
|