使用对偶表示重新实现Stack(lua程序设计21.7练习21.3题)
使用对偶表示重新实现Stack(lua程序设计21.7练习21.3题)
local data = {}
DualStack = {}
function DualStack:new(o)o = o or {}self.__index =selfsetmetatable(o,self)data[o] = {}return o
end
function DualStack:push(v)table.insert(data[self],v)
endfunction DualStack:pop()local v = data[self][#data[self]]table.remove(data[self],#data[self])return v
endfunction DualStack:top()local v = data[self][#data[self]]return v
end
function DualStack:isempty()return #data[self] == 0
endlocal stack = DualStack:new()
for i = 1, 10 dostack:push(i)
end
print(stack:top())
while not stack:isempty() doprint(stack:pop())
end
使用对偶表示重新实现Stack(lua程序设计21.7练习21.3题)相关推荐
- lua transliterate实现(lua程序设计10.6练习10.3题)
lua transliterate实现(lua程序设计10.6练习10.3题) local function transliterate(s,t)return (string.gsub(s," ...
- lua split实现(lua程序设计10.6练习10.1题)
lua split实现(lua程序设计10.6练习10.1题) local function split(s,sp)local t = {}local last = 1local irepeati = ...
- lua实现stack(lua程序设计21.7 练习21.1题)
lua实现stack(lua程序设计21.7 练习21.1题) Stack = {} function Stack:new(o)o = o or {}self.__index = selfsetmet ...
- lua实现继承(lua程序设计21.7 练习21.2题)
lua实现继承(lua程序设计21.7 练习21.2题) StackQueue = Stack:new() function StackQueue:insertBottom(v)table.inser ...
- 用空代理实现account(lua程序设计21.7练习21.4题)
用空代理实现account(lua程序设计21.7练习21.4题) function createAccount()local proxy = {}local mt = {balance = 0}mt ...
- 《lua程序设计(第二版)》学习笔记(五)-- 函数基础
-- 第 5 章 函数-- 一种对语句和表达式进行抽象的主要机制 print(os.date()); -- 打印日期 Sun Apr 20 12:44:46 2014 -- 一看到sun,感慨广州没有 ...
- 数字ab写成c语言表达式,《C语言程序设计》复习题(21页)-原创力文档
<C 语言程序设计>复习题 一. 判断题(本大题共 60 个小题) 1. C 程序执行的入口是 main() 函数,所以 main 函数必须放在程序的开头. (B ) 2. 定义一个函数包 ...
- 【Aegisub相关】Lua程序设计 第4版(中文翻译)
[Aegisub相关]Lua程序设计 第4版(中文翻译) 链接:https://pan.baidu.com/s/1XiqiT9lLvnfGJfyrWQ87aA 提取码:ycxt 上述PDF原始来源:h ...
- 简答题c语言文件操作顺序,计算机基础与程序设计2012年4月真题试题(02275)
计算机基础与程序设计2012年4月真题试题与答案解析(02275) 计算机基础与程序设计2012年4月真题试题与答案解析(02275),本试卷总共100分. 一.单项选择题 (本大题共20小题.每小题 ...
最新文章
- Redis6安装配置集群cluster以及集群宕机注意事项
- R语言distMeeus函数计算大圆距离实战(Great Circle Distance)
- python图像变形
- 锁类型_ sys.dm_os_wait_stats
- buntu linux下建立stm32开发环境: GCC安装以及工程Makefile建立
- Error: Could not find or load main class org.apache.tez.dag.app.DAGAppMaster
- 利用vue v-bind属性绑定bootstrap样式以及输出数据
- 机器学习(2)之正规方程组
- html军事学校模板,军事训练学校网站模板
- MyEclipse 10.5与ExtJS 4.1.1自动代码提示
- atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29
- centos7 里面dump_centos7使用lldb调试netcore应用转储dump文件
- Qt QJson遍历
- andriod studio 自带模拟器设置开发者模式
- 封装PC端使用海康插件播放摄像头直播流(VUE)
- windows 8 .1全家桶(很详细)
- 众人皆阳我独阴,分享与小阳人共同生活一周体验!
- 11.kafka 配置消息大小
- 4.23以上UE4 版本HTC-VIVE VR项目打包的注意事项
- Google需警惕苹果Apple TV的10大原因
热门文章
- C语言试题十八之根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)
- .net 集合分成几个等数量集合_巧用数学游戏,帮助幼儿轻松掌握12种数量关系!...
- 豆瓣评分9.4!这一部纪录片,探秘中国的未至之境!
- 3部世界顶级宇宙纪录片,献给对宇宙万物充满好奇的大人孩子~
- 这就是你们有钱人炫富的新方式吗?
- 一滴水从高处落下来,会不会砸死人?
- AI人工智能资料分享来袭,还不快来!
- mysql 前缀索引 语法_PHP 之Mysql优化
- 小米8ios图标包下载_小米互传PC端抢先下载,免流量、高速互传,支持多设备共享...
- c语言50行左右程序,谁有50行和300行左右又简单的程序,急需