lua table 的一些方法
二、lua 面向对象排序常见方法
1. 常用方法
代码如下(示例):
table.sort(table, function(a,b)
return a > b
end)
2. 多个条件比较方法
在一些需求当中,比较的数据不是一个,是组合的形式出现的,先是比较字段a,如果相等再比较字段b,那么在
代码如下(示例):
function(a, b)
if a.level ~= b.level then
return a.level > b.level
end
return a.exp > b.exp
end
这种方法比较好,因为它的扩展性比较强,如果后面出现三个或者三个以上的字段后,直接按格式添加就行
3. 排序与最值的选择
table 线性差值的时间复杂度是O(n),sort 排序的时间复杂度是O(nlogn)
最值选择考虑 table 的规模
4. 随机排序方法
把整个数据 table 随机打乱
代码如下(示例):
function random_sort( table )
local tableSize = #table
for i = 1, tableSize do
local randomNum = math.random(i, tableSize)
if randomNum > i then
table[i], table[randomNum] = table[randomNum], table[i]
end
end
end
持续更新…