亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Lua學習筆記之數據結構

2024-07-21 23:03:59
字體:
來源:轉載
供稿:網友

最近研究Lua,順便寫點筆記吧!數據結構是沒有語言之分的,只不過不同的語言實現起來的語法不同,既然是Lua菜鳥,就來實現幾個常用的數據結構來練練語法吧!首先是作為數據結構基石的數組,在Lua中數組是用表來實現的,表是個強大的東西,能表示太多東西了,當表中元素的下標都是整數的時候,我們把這個表稱作數組。數組的大小不固定,可以動態的增長。

 

復制代碼 代碼如下:

--創建一個簡單的數組
local arr1 = {1,2,3,4,5,6}
--遍歷數組中得每一個元素
for i,v in ipairs(arr1) do
print(v)
end

 

--另一種創建數組的方式
local arr2 = {}
for i=1,10 do
arr2[i] = i
print(arr2[i])
end

--創建數組,下標從2開始
local arr2 = {[2]="hello",[3]="xiao",[4]="ta",[5]="zaojiahua"}
--使用迭代器ipairs遍歷的時候輸出為空值,因為arr2[1]=nil當ipairs遇到空值的時候就返回了
for i,v in ipairs(arr2) do
print(i,v)
end
--這個時候需要使用pairs遍歷
for i,v in pairs(arr2) do
print(i,v)
end

 

創建數組的時候整數下標最好從1開始,因為這個值是Lua中默認開始的下標,這和其他語言的下標從零開始有點區別,如果你采用其他的數字下標開始,使用某些Lua庫的時候可能不能獲得預期的結果。然后就是遍歷數組的方式,我們用到了迭代器ipairs()和pairs(),這個使用時候的區別代碼已經有體現了,ipairs中得i代表的就是整數下標,從1開始。

有一維數組當然就有多維的,下面來創建一個二維數組,也就是矩陣,其他的類推吧。

 

復制代碼 代碼如下:

--創建一個10*5的二維數組
local int_arr = {}

 

for i=1,10 do
    int_arr[i] = {}
    for j=1,5 do
        int_arr[i][j] = j
    end
end

--遍歷二維數組
for i,v in ipairs(int_arr) do
    for j,k in ipairs(v) do
        io.write(k.."/t")
    end
    print("/n")
end


 

Lua,數據結構

 

接下來實現一個鏈表,鏈表的每個節點用一個table表示,table中的字段包括指向下一個節點的指針和該節點的數據元素,這里只是提供一個思路,其他的東西可以用的時候擴展。

 

復制代碼 代碼如下:

--實現一個鏈表
local list = nil
--鏈表元素包含倆個字段,next代表的是指針,指向下一個鏈表元素,value代表的是該鏈表元素的值
for i=1,10 do
    list = {next = list,value = i}
end

 

--鏈表的遍歷
local l = list
while l do
    print(l.value)
    l = l.next
end


 

接下來實現一個比較有用的數據結構——隊列。我把隊列封裝在了一個table表中,關于隊列的操作和表示隊列頭和隊列尾的指針也封裝在了一起。當對頭等于隊尾的時候表示沒有元素,而這個隊列是可以無限增大的,并沒有隊列滿的限制,大家可以根據自己的需要進行擴展。

 

復制代碼 代碼如下:

--實現一個隊列 包括頭指針first和尾指針last first==last的時候代表隊列為空
local Que = {first=0,last=0}

 

--向隊列中添加元素,last索引指向最后一個元素的下一個元素,first索引指向的是第一個元素
function Que:push(value)
    local last = self.last
    self[last] = value
    self.last = last+1
end
--移除元素,隊列的特點是先進先出
function Que:pop()
    if self.first == self.last then
        print("隊列空")
        return nil
    end
    local first = self.first
    self.first = first+1
    return self[first]
end

--顯示隊列中得元素
function Que:showValue()
    for i=self.first,self.last-1 do
        print("value:"..self[i])
    end
end

--測試
print("隊列測試")
Que:showValue()
Que:push(2)
Que:push(3)
print("push 2,3")
Que:showValue()
Que:push(3)
print("push 3")
Que:showValue()
print("pop:"..Que:pop())
Que:showValue()
print("pop:"..Que:pop())
Que:showValue()
print("push 100")
Que:push(100)
Que:showValue()
print("pop:"..Que:pop())
Que:showValue()
print("pop:"..Que:pop())
Que:showValue()
print("pop:"..Que:pop())

 

Lua,數據結構

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国语精品自产拍在线观看| 亚洲午夜精品久久久久久性色| 国产精品丝袜久久久久久高清| 国产精品伦子伦免费视频| 日韩电影免费在线观看中文字幕| 欧美久久精品午夜青青大伊人| 国产精品91视频| 国产精品国产三级国产aⅴ9色| 国产精品白嫩初高中害羞小美女| 亚洲免费影视第一页| 九九久久国产精品| 91精品国产777在线观看| 国产精品揄拍一区二区| 久久久久国产一区二区三区| 97久久久久久| 粗暴蹂躏中文一区二区三区| 欧美视频在线观看免费网址| 热99精品只有里视频精品| 国产成人精品av| 亚洲在线视频观看| 国产精品久久久久久久久久久久| 久久在线精品视频| 久久国产精彩视频| 亚洲国产精品va在线看黑人| 96精品久久久久中文字幕| 在线观看久久av| 日本精品久久中文字幕佐佐木| 色av吧综合网| 国产精品久久久久av免费| 国产精品成人观看视频国产奇米| 一本色道久久综合狠狠躁篇怎么玩| 91a在线视频| 在线视频中文亚洲| 免费不卡欧美自拍视频| 久久亚洲精品毛片| 色777狠狠综合秋免鲁丝| 97在线免费视频| 亲爱的老师9免费观看全集电视剧| 国产综合在线看| 成人午夜小视频| 国产精品色悠悠| 精品性高朝久久久久久久| 欧美日韩激情小视频| 黑人狂躁日本妞一区二区三区| 青青草一区二区| 九九久久国产精品| 97超碰国产精品女人人人爽| 国产精品视频免费在线| 欧洲成人午夜免费大片| 欧美日韩国产999| 国产精品久久久久久久久久| 久久九九热免费视频| 亚洲国产三级网| 国产精品观看在线亚洲人成网| 日韩天堂在线视频| 国产精品日韩在线观看| 亚洲韩国青草视频| 久久精品成人动漫| 国产精品久久久久久av| 欧美裸体xxxxx| 国产精品电影观看| 欧美精品aaa| 97婷婷涩涩精品一区| 国产在线播放不卡| 国产91精品久久久久久| 91久久国产婷婷一区二区| 欧美极品美女视频网站在线观看免费| 狠狠久久亚洲欧美专区| 亚洲最大的成人网| 亚洲国产精品电影在线观看| 亚洲电影免费在线观看| 九九热这里只有精品免费看| 午夜精品美女自拍福到在线| 国产一区二区丝袜高跟鞋图片| 91在线观看免费高清| 亚洲欧洲在线免费| 国产成人短视频| 中文字幕欧美日韩va免费视频| 国产精品老女人视频| 中文字幕精品av| 欧美日韩免费一区| 亚洲黄色av网站| 亚洲系列中文字幕| 91久久久久久久久久| 亚洲一区二区三区视频播放| 欧美成人一区在线| 伊人久久大香线蕉av一区二区| 韩日欧美一区二区| 欧美性感美女h网站在线观看免费| 亚洲视频视频在线| 久久九九精品99国产精品| 色综合导航网站| 日韩电影在线观看永久视频免费网站| 一区二区三区黄色| 精品美女久久久久久免费| 亚洲国产91色在线| 91日本在线观看| 久久亚洲综合国产精品99麻豆精品福利| 美日韩精品视频免费看| 亚洲综合中文字幕68页| 性欧美xxxx| 国产97在线视频| 欧美日韩另类视频| 大荫蒂欧美视频另类xxxx| 日韩免费观看网站| 九九热这里只有在线精品视| 日韩在线精品一区| 91日本在线视频| 欧美尤物巨大精品爽| 国产精品高潮呻吟久久av野狼| 一区二区欧美在线| 91精品国产91久久久久久不卡| 精品久久久久久中文字幕大豆网| 精品香蕉一区二区三区| 亚洲国产成人精品久久久国产成人一区| 777777777亚洲妇女| 欧美成人剧情片在线观看| 91精品视频大全| 国产精品久久久久aaaa九色| 久久久久久久久久久免费| 国自在线精品视频| 俺去了亚洲欧美日韩| 色哟哟亚洲精品一区二区| 麻豆乱码国产一区二区三区| www.欧美免费| 久久精品一偷一偷国产| 91精品视频大全| 日本欧美在线视频| 欧美激情亚洲综合一区| 亚洲福利在线视频| 久久久黄色av| 一色桃子一区二区| 亚洲香蕉伊综合在人在线视看| 亚洲精品在线观看www| 久久久久北条麻妃免费看| 国产精品一区二区久久国产| 日韩av免费看| 性欧美xxxx| 久久国产视频网站| 亚洲成人亚洲激情| 精品国产精品自拍| 一区二区欧美日韩视频| 亚洲电影免费观看高清完整版在线观看| 国产精品久久久久久久一区探花| 国产精品黄页免费高清在线观看| 亚洲一区999| 欧美国产日韩xxxxx| 亚洲综合一区二区不卡| 日韩欧美中文字幕在线播放| 国产精品香蕉av| 午夜精品久久久久久99热软件| 亚洲国产另类久久精品| 久久久久久高潮国产精品视| 91av在线播放视频| 亚洲自拍另类欧美丝袜| 一区二区三区视频免费在线观看| 日韩亚洲欧美中文高清在线| 欧美高清不卡在线| 欧美成人手机在线| 午夜精品一区二区三区在线视| 色综合五月天导航| 亚洲欧美综合v| 国产美女久久精品香蕉69| 日韩国产欧美精品一区二区三区|