lua排序演算法
發布時間: 2022-12-14 13:36:36
❶ 用lua語言來寫一個排序方法怎麼寫 跪求大神
stud={{58,80},{32,85},{64,92},{21,63},{35,70},{10,51},{97,92},{71,92}}
m=#stud
fori=1,m-1do
forj=1,m-ido
ifstud[j][1]>stud[j+1][1]then
stud[j][1],stud[j+1][1]=stud[j+1][1],stud[j][1]
stud[j][2],stud[j+1][2]=stud[j+1][2],stud[j][2]
end
end
end
fori=1,mdoprint(stud[i][1]..''..stud[i][2]);end
print()
fori=1,m-1do
forj=1,m-ido
ifstud[j][2]<stud[j+1][2]then
stud[j][1],stud[j+1][1]=stud[j+1][1],stud[j][1]
stud[j][2],stud[j+1][2]=stud[j+1][2],stud[j][2]
end
if(stud[j][2]==stud[j+1][2])and(stud[j][1]>stud[j+1][1])then
stud[j][1],stud[j+1][1]=stud[j+1][1],stud[j][1]
end
end
end
fori=1,mdoprint(stud[i][1]..''..stud[i][2]);end
❷ lua 中 怎麼將數字 從大到小排列出來
可以將數據封裝到表中,再使用系統的函數來排序(根據需要,可寫個比較函數,以控制從小到大或從大到小進行排序),之後輸出結果。下面在手機上用易歷知食軟體里的Lua程序設計來編寫個示例,供參考。
手機上的代碼如下圖:
❸ 請問Lua語言中table.sort底層使用的是哪種排序演算法
根據 lua 的 wiki,table.sort 採用的是基於 quicksort 的排序演算法。
❹ lua中對數組排序的問題
.no的含義和["no"]是一樣的。所以改成下面這樣
function orderby(x,y)--x是數組,y是列名用字元串,比如"no"
maxn = table.getn(x)
for j=1,maxn ,1 do
for i = j,maxn,1 do
if x[j][y] < x[i][y] then
x[j],x[i] = x[i],x[j]
end
end
end
return x
end
❺ lua對table排序,鍵值排序法
先是一個key,value的鍵值對,實現思路是:先遍歷獲取到整個table的key值,然後對key值進行升序或降序,根據排序後的key值以此取出table裡面的數據進行臨時存儲,得到排序後的table
測試地址: https://c.runoob.com/compile/66
列印輸出
二
PRINT
熱點內容