• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua模拟stack

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

原文引自:https://blog.csdn.net/weixin_30535913/article/details/96012323

LuaStack.lua

local stack = {}  
stack.__index = stack  
  
function stack:new()  
    local temp = {}  
    setmetatable(temp,stack) 
    stack:init() 
    return temp  
end  
  
function stack:init()  
    self.stackList = {}  
end  
  
function stack:reset()  
    self:init()  
end  
  
function stack:clear()  
    self.stackList = {}  
end  
  
function stack:pop()  
    if #self.stackList == 0 then  
        return  
    end   
      
    return table.remove(self.stackList)  
end  

function stack:peek()
    return self.stackList[self:Count()]
end
  
function stack:push(t)  
    table.insert(self.stackList,t)  
end  
  
function stack:Count()  
    return #self.stackList  
end  

return stack

模拟测试

package.path = package.path ..';..\\?.lua'
luaStack = require "luaStack"

--测试代码 
--push 数字
stack1 = luaStack:new()

stack1:push(1)  
stack1:push(2)
stack1:push(3)

while (stack1:Count() > 0)    -- lua中只有nil 和 false 为假
do
    print("stack1 now cotain number:"..stack1:Count())
    print("pop top number:"..stack1:pop())
end

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
nginx+lua+redis做访问鉴权发布时间:2022-07-22
下一篇:
Lua基础知识相关(自用)发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap