zoukankan      html  css  js  c++  java
  • lua的table排序

    lua中利用到的排序的基本上就是构造函数(table)了,为了便于和C区分开来,我俗称它为表单。

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

    排序的一般姿势(对于只包含数字或者只包含字符串的简单数组)

    table.sort(test)

    扩展版

    table.sort(test, function(a,b) return a.id<b.id end )

    实例一:值排序

    1.数组模式

     1 local test0 ={1,9,2,8,3,7,4,6}
     2 
     3 table.sort(test0)  --从小到大排序
     4 for i,v in pairs(test0) do
     5    io.write(v.." ")
     6 end
     7 print("");
     8 
     9 table.sort(test0,function(a,b) return a>b end) --从大到小排序
    10 for i,v in pairs(test0) do
    11    io.write(v.." ")
    12 end
    13 print(" ")

    2.表单模式

    local test2 ={
                    {id=1, name="deng"},
                    {id=9, name="luo"},
                    {id=2, name="yang"},
                    {id=8, name="ma"},
                    {id=5, name="wu"},
    }
    
    table.sort(test2,function(a,b) return a.id<b.id end )
    for i in pairs(test2) do
       print(test2[i].id,test2[i].name)
    end

    实例二:键值排序

    local test1 ={a=1,f=9,d=2,c=8,b=5}
    
    local key_test ={}
    for i in pairs(test1) do
       table.insert(key_test,i)   --提取test1中的键值插入到key_test表中
    end
    
    table.sort(key_test)
    for i,v in pairs(key_test) do
       print(v,test1[v])
    end
  • 相关阅读:
    SecureCRT
    NFS服务器搭建
    卸载oracle步骤
    redhat 5.5 x86_x64搭建samba服务器
    ORA-01940: cannot drop a user that is currently connected
    迁移表空间
    日常SQL使用总结
    DataGuard常规操作命令
    使用PowerDesginer画ER图
    数据库卸载
  • 原文地址:https://www.cnblogs.com/kane0526/p/3966890.html
Copyright © 2011-2022 走看看