41 lines
760 B
Plaintext
41 lines
760 B
Plaintext
LuaQueue = class('LuaQueue')
|
|
|
|
function LuaQueue:ctor()
|
|
-- self.first = 1
|
|
-- self.last = 1
|
|
self.container = {}
|
|
end
|
|
|
|
function LuaQueue:Empty()
|
|
-- return self.first >= self.last
|
|
return 0 >= self:Count()
|
|
end
|
|
|
|
function LuaQueue:Count()
|
|
-- return self.last - self.first
|
|
return #self.container
|
|
end
|
|
|
|
function LuaQueue:Push(v)
|
|
-- self.container[self.last] = v
|
|
-- self.last = self.last + 1
|
|
self.container[#self.container+1] = v
|
|
end
|
|
|
|
function LuaQueue:Pop()
|
|
if self:Empty() then
|
|
return nil
|
|
end
|
|
-- local v = self.container[self.first]
|
|
-- self.first = self.first + 1
|
|
local v = table.remove(self.container, 1)
|
|
return v
|
|
end
|
|
|
|
function LuaQueue:Peek()
|
|
if self:Empty() then
|
|
return nil
|
|
end
|
|
-- return self.container[self.first]
|
|
return self.container[1]
|
|
end |