博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lua 笔记--数据结构
阅读量:6078 次
发布时间:2019-06-20

本文共 1471 字,大约阅读时间需要 4 分钟。

a = {}    --新建一个数组for i=1, 1000 do    a[i] = 0end

        在Lua中,有两种方式来表示矩阵。第一种是使用一个“数组的数组”,也就是一个table 中的每个元素是另一个table:

mt = {}        --新建矩阵for i=1, N do    mt[i] = {}        --创建一个新行        for j=1, M do            mt[i][j] = 0        endend

        表示矩阵的第二种方式是将两个索引合并为一个索引。如果两个索引是整数,可以将第一个索引乘以一个适当的常量,并加上第二个索引:

mt = {}        --创建矩阵for i=1, N do    for j=1, M do        mt[(i-1)*M + j] = 0    endend

        链表的创建:

list = nil

        在表头插入一个元素,元素值为v:

list = {next=list, value=v}

        遍历此列表:

local l = listwhile l do    
<访问l.value>
    l = l.nextend

        队列的创建:

List = {}function List.new()    return {first=0, last=-1}end

        在队列两端插入或删除元素:

function List.pushfirst(list, value)local first = list.first - 1list.first = firstlist[first] = valueendfunction List.pushlast(list, value)local last = list.last + 1list.last = lastlist[last] = valueendfunction List.popfirst(list)local first = list.firstif first > list.last then error("list is empty") endlocal value = list[first]list[first] = nil        --为了允许垃圾收集list.first = first + 1return valueendfunction List.poplast(list)local last = list.lastif list.first > last then error("list is empty") endlocal value = list[last]list[last] = nil        --为了允许垃圾收集list.last = last - 1return valueend

        逐行的读取一个文件:

local t = {}for line in io.lines() do    t[#t + 1] = line .."\n"endlocal s = table.concat(t)

函数table.concat 会将给定列表中的所有字符串连接起来,并返回连接的结果。

        concat函数还有第二个可选参数,可以指定一个插在字符串间的分隔符:

local t = {}for line in io.lines() do    t[#t + 1] = lineends = table.concat(t, "\n") .."\n"

转载地址:http://hzogx.baihongyu.com/

你可能感兴趣的文章
魔幻般冒泡背景的CSS3按钮动画
查看>>
Leetcode: Median of two sorted Array
查看>>
MySQL常见报错汇总
查看>>
Zuul 网关搭建
查看>>
合并两个有序链表
查看>>
[HDU2222] Keywords Search
查看>>
射极跟随器的设计及参数确定
查看>>
电脑硬盘空间怎么越来越小
查看>>
android SystemUI导入eclipse 编译
查看>>
架构师速成-架构体系
查看>>
用minGW编译ffmpeg(供替换opencv中引用的ffmpeg库)
查看>>
MySQL多实例配置
查看>>
Nginx 一个高性能的HTTP和反向代理服务器
查看>>
IT男剁手指南:花钱也是一门大学问
查看>>
扒一扒程序员们最爱的网络游戏
查看>>
打造最舒适的webview调试环境
查看>>
ArcGIS——2015年中国各省GDP总量分级图(6等级)
查看>>
关联规则挖掘(二):Apriori算法
查看>>
谷歌技术"三宝"之BigTable
查看>>
CAFFE安装(7):Matlab环境
查看>>