lua自定義排序函式

2021-07-16 05:06:08 字數 450 閱讀 2764

說一下lua的table庫中比較常用的排序函式——table.sort(),第乙個引數代表要進行排序的table,第二個引數是可選的,如果沒有第二個引數,那麼這個函式就會將table元素從小到大進行排序,我主要來說一下第二個引數。

第二個引數是函式型別,這個函式接收兩個table元素,如果希望第乙個引數在排序結果中位於第二個引數前,那麼就應當返回true。那麼最直觀的理解就是看**了,如下是一種寫法

local tab = 

local function comp(a,b)

return a > b

endtable.sort(tab,comp)

for i =1,#tab do

print(tab[i])

end

另外一種寫法就是匿名函式寫法,比較簡單,我這裡就不上**了,有心的讀者可以自己完成。

lua自定義排序

說一下lua的table庫中比較常用的排序函式 table.sort 第乙個引數代表要進行排序的table,第二個引數是可選的,如果沒有第二個引數,那麼這個函式就會將table元素從小到大進行排序,我主要來說一下第二個引數。第二個引數是函式型別,這個函式接收兩個table元素,如果希望第乙個引數在排...

自定義排序函式

python 內建的sorted 函式可對 list 進行排序 sorted 36,5,12,9,21 5,9,12,21,36 但 sorted 也是乙個高階函式,它可以接收乙個比較函式來實現自定義排序,比較函式的定義是,傳入兩個待比較的元素 x,y 如果x 應該排在 y 的前面,返回 1,如果 ...

自定義排序函式

python內建的sorted 函式可對list進行排序 sorted 36,5,12,9,21 5,9,12,21,36 但sorted 也是乙個高階函式,它可以接收乙個比較函式來實現自定義排序,比較函式的定義是,傳入兩個待比較的元素 x,y,如果 x 應該排在 y 的前面,返回 1,如果 x 應...