加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua的table排序

发布时间:2020-12-14 22:15:59 所属栏目:大数据 来源:网络整理
导读:实例:(原理就是LUA集成的冒泡算法) --排序的算法 function comps(a,b) return a.id b.id end --应用 table.sort(table_name,comps); table_name 已经被修改 一、数值数组排序(字符串跟数值混在一起的数组是不能sort的) [plain] ? view plain copy local?t

实例:(原理就是LUA集成的冒泡算法)

--排序的算法
function comps(a,b)
return a.id < b.id
end

--应用
table.sort(table_name,comps);

table_name 已经被修改


一、数值数组排序(字符串跟数值混在一起的数组是不能sort的)

[plain]? view plain copy
  1. local?test_table?=?{2,1,3}??
  2. table.sort(test_table)??
  3. for?key,value?in?pairs(test_table)?do??
  4. ????print(key,value)??
  5. end??

输出结果:

copy
    >lua?-e?"io.stdout:setvbuf?'no'"?"test.lua"??
  1. 1???1??
  2. 2???2??
  3. 3???3??
二、字符串数组排序

copy
    local?test_table?=?{"a","c","b"}??
  1. end??
输出结果:
copy
    1???a??
  1. 2???b??
  2. 3???c??
三、键值对Table排序(按Key排序,不是Value
copy
    local?test_table?=?{a=3,b=2,c=4,d=1}??
  1. local?key_table?=?{}??
  2. --取出所有的键??
  3. for?key,_?in?pairs(test_table)?do??
  4. ????table.insert(key_table,key)??
  5. end??
  6. --对所有键进行排序??
  7. table.sort(key_table)??
  8. for?_,key?in?pairs(key_table)?do??
  9. copy
    1. a???3??
    2. b???2??
    3. c???4??
    4. d???1 ?

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读