Lua中對table排序例項

2021-07-24 21:47:20 字數 1134 閱讀 4138

這篇文章主要介紹了lua中對table排序例項,本文講解了lua中對table的一般排序方法、針對值的排序、同時對鍵值進行排序等方法,需要的朋友可以參考下

lua中利用到的排序的基本上就是建構函式(table)了,為了便於和c區分開來,我俗稱它為表單。

例項:(原理就是lua整合的冒泡演算法)

排序的一般姿勢(對於只包含數字或者只包含字串的簡單陣列)

複製**

**如下:

table.sort(test)

擴充套件版複製**

**如下:

table.sort(test, function(a,b) return a.id

例項一:值排序

1.陣列模式

複製**

**如下:

local test0 =

table.sort(test0)  --從小到大排序

for i,v in pairs(test0) do

io.write(v.." ")

endprint("");

table.sort(test0,function(a,b) return a>b end) --從大到小排序

for i,v in pairs(test0) do

io.write(v.." ")

endprint(" ")

2.表單模式

複製**

**如下:

local test2 =, ,

, ,,}

table.sort(test2,function(a,b) return a.id

例項二:鍵值排序

複製**

**如下:

local test1 =

local key_test ={}

for i in pairs(test1) do

table.insert(key_test,i)   --提取test1中的鍵值插入到key_test表中

endtable.sort(key_test)

for i,v in pairs(key_test) do

print(v,test1[v])

end

lua中對table的排序

lua中對table的排序一般是用lua自帶的table.sort 函式排序,一般不採用自己寫的排序的方式,以下來說一說 table.sort 排序和在工作中遇到的問題 1.排序的方式 table.sort tbl,function a,b return a b end 以上是乙個簡單的例子,得到的...

lua對table排序,鍵值排序法

skillgroup 102 103 104 for i in pairs skillgroup do print 直接輸出 i end 直接獲取table的資料進行遍歷發現資料不像list那樣是直接索引取出排序好的,下面進行排序 插入key local keytest for i in pairs...

LUA中table的排序問題

畢業了,正式工作了,隨便寫寫。目前在實習,接觸的是u3d遊戲開發,設計到語言有erlang,c lua。最近在做揹包的排序的時候遇到的乙個小問題就貼出來了。檢視官方文件 第乙個引數是乙個table,第二個引數是外部函式,如下 table.sort showlist,sortfunc local fu...