zoukankan      html  css  js  c++  java
  • Lua模拟stack

    原文引自: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
  • 相关阅读:
    k8s升级
    k8s常用命令kubeadm
    k8s部署安装-更新时间2020-10-5(docker)
    centos7安装后的优化-2019-10-12更新
    gitlab安装后出现的web IDE显示报错问题
    奋斗的路上
    Spring Boot之过滤器
    java 并发
    jar包使用
    找不到xsd文件思路
  • 原文地址:https://www.cnblogs.com/yifengs/p/15151132.html
Copyright © 2011-2022 走看看