MyStack = MyStack or {}
function MyStack:MyStack(size)
self.m_pBuffer = {}
self.m_iSize = size
self.m_iTop = 0
end
function MyStack:MyStack(size)
self.m_pBuffer = {}
self.m_iSize = size
self.m_iTop = 0
end
function MyStack:DeleStack()
self.m_pBuffer = {}
self.m_pBuffer = nil
self.m_iTop = 0
end
self.m_pBuffer = {}
self.m_pBuffer = nil
self.m_iTop = 0
end
function MyStack:StackEmpty()
if 0 == self.m_iTop then
return true
end
return false
end
if 0 == self.m_iTop then
return true
end
return false
end
function MyStack:StackFull()
if self.m_iSize == self.m_iTop then
return true
end
return false
end
if self.m_iSize == self.m_iTop then
return true
end
return false
end
function MyStack:ClearStack()
self.m_iTop = 0
end
self.m_iTop = 0
end
function MyStack:StackLength()
return self.m_iTop
end
return self.m_iTop
end
function MyStack:Push(number)
if self:StackFull() then
return false
end
self.m_pBuffer[self.m_iTop] = number
self.m_iTop = self.m_iTop + 1
return true
end
if self:StackFull() then
return false
end
self.m_pBuffer[self.m_iTop] = number
self.m_iTop = self.m_iTop + 1
return true
end
function MyStack:Pop(number)
if self:StackEmpty() then
return false
end
self.m_iTop = self.m_iTop - 1
number = self.m_pBuffer[self.m_iTop]
return true and number
end
if self:StackEmpty() then
return false
end
self.m_iTop = self.m_iTop - 1
number = self.m_pBuffer[self.m_iTop]
return true and number
end
function MyStack:StackTraverse()
for i = 0 , self.m_iTop -1 do
print("打印栈中的元素" , self.m_pBuffer[i])
end
end
for i = 0 , self.m_iTop -1 do
print("打印栈中的元素" , self.m_pBuffer[i])
end
end
function MyStack:main()
self:MyStack(4)
MyStack:Push(1)
MyStack:Push(2)
MyStack:Push(3)
MyStack:DeleStack()
if self:StackEmpty() then
print("11111111111")
else
print("2222222222222")
end
MyStack:StackTraverse()
end
self:MyStack(4)
MyStack:Push(1)
MyStack:Push(2)
MyStack:Push(3)
MyStack:DeleStack()
if self:StackEmpty() then
print("11111111111")
else
print("2222222222222")
end
MyStack:StackTraverse()
end
MyStack:main()