简单队列实现
--@class LuaQueue
LuaQueue = class("LuaQueue")
function LuaQueue:ctor()
self.front = 1
self.last = 0
self.count = 0
self.objects = {}
end
function LuaQueue:EnQueue(object)
self.last = self.last + 1
self.objects[self.last] = object
self.count = self.count + 1
return self.last
end
function LuaQueue:DeQueue()
if self.last < self.front then
return nil
end
local value = self.objects[self.front]
self.objects[self.front] = nil
self.front = self.front + 1
self.count = self.count - 1
return value
end
function LuaQueue:Clear()
self.objects = {}
self.front = 1
self.last = 0
self.count = 0
end
function LuaQueue:Length()
return self.count
end
function LuaQueue:IsEmpty()
return self.count <= 0
end
简单栈实现
---@class LuaStack
LuaStack = class("LuaStack")
function LuaStack:ctor()
self.count =