這篇文章主要介紹了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...