<Lua程序设计(第二版)>书摘-8
来源:互联网 发布:淘宝专柜代购是真的吗 编辑:程序博客网 时间:2024/05/22 05:04
资料摘自<Lua程序设计(第二版)>
链表
由于table是动态的实体,所以在Lua中实现链表是很方便的。每个结点以一个table来表示,一个"链接"只是结点table中的一个字段,该字段包含了对其他table的引用。如:
list = nil
在表头插入一个元素,元素值为v:
list = {next=list,value=v}
遍历此列表:
local l = list
while l do
<访问l.value>
l = l.next
end
队列
List = {}
--创建队列table
function List.new()
return {first=0,last=-1}
end
--插入元素
function List.pushfirst(list,value)
local first = list.first - 1
list.first = first
list[first] = value
end
function List.pushlast(list,value)
local last = list.last - 1
list.last = last
list[last] = value
end
--删除元素
function List.popfirst(list)
local first = list.first
if first > list.last then error("list is empty") end
local value = list[first]
list[first] = nil --为了允许垃圾收集
list.first = first + 1
return value
end
function List.poplast(list)
local last = list.last
if list.first > last then error("list is empty") end
local value = list[last]
list[last] = nil --为了允许垃圾收集
list.last = last - 1
return value
end
- <Lua程序设计(第二版)>书摘-8
- <Lua程序设计(第二版)>书摘-1
- <Lua程序设计(第二版)>书摘-2
- <Lua程序设计(第二版)>书摘-3
- <Lua程序设计(第二版)>书摘-4
- <Lua程序设计(第二版)>书摘-5
- <Lua程序设计(第二版)>书摘-6
- <Lua程序设计(第二版)>书摘-7
- <Lua程序设计(第二版)>书摘-9
- <Lua程序设计(第二版)>书摘-10
- <Lua程序设计(第二版)>书摘-11
- <Lua程序设计(第二版)>书摘-12
- <Lua程序设计(第二版)>书摘-13 日期与时间
- 《Lua程序设计[第二版]》第7,8章笔记
- lua程序设计第二版 读书笔记(5-8章)
- Lua程序设计第二版(笔记) 第一章开始
- lua开发(9)--<Lua程序设计第二版>读书笔记
- Lua程序设计第二版(笔记) 第二章类型与值
- VC中 十六进制字符串转换为十进制数字
- Python关键字yield详解以及Iterable 和Iterator区别
- 文章出轨事件成了一场网络狂欢,转发和段子齐飞
- Java反射机制
- java多线程完全版
- <Lua程序设计(第二版)>书摘-8
- 媒体说周一会发布具体出轨的证据什么的
- Object-C内存管理
- 深入浅出Java 重定向和请求转发的区别
- 关于IE,360,火狐,谷歌中遇到的几个兼容性问题的总结
- IED 61850 总体建模原则
- Cocos2d-x--中文显示
- Eclipse下CloudSim包的导入
- Mac系统常用快捷键(mac系统截图)