Lua中对table排序实例

 更新时间:2014年09月27日 15:46:31   作者:Mr.Ant  
这篇文章主要介绍了Lua中对table排序实例,本文讲解了Lua中对table的一般排序方法、针对值的排序、同时对键值进行排序等方法,需要的朋友可以参考下

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

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

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

复制代码 代码如下:

table.sort(test)

扩展版

复制代码 代码如下:

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

实例一:值排序

1.数组模式

复制代码 代码如下:

local test0 ={1,9,2,8,3,7,4,6}

table.sort(test0)  --从小到大排序
for i,v in pairs(test0) do
   io.write(v.." ")
end
print("");

table.sort(test0,function(a,b) return a>b end) --从大到小排序
for i,v in pairs(test0) do
   io.write(v.." ")
end
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

相关文章

  • Lua中使用二维数组实例

    Lua中使用二维数组实例

    这篇文章主要介绍了Lua中使用二维数组实例,本文直接给出代码实例,看代码更容易理解,需要的朋友可以参考下
    2015-06-06
  • Lua游戏开发教程之时区问题详解

    Lua游戏开发教程之时区问题详解

    时间显示问题说白了就是时差问题,这篇文章主要给大家介绍了关于Lua游戏开发教程之时区问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Lua中的一些常用函数库实例讲解

    Lua中的一些常用函数库实例讲解

    这篇文章主要介绍了Lua中的一些常用函数库实例讲解,本文讲解了数学库、table库、字符串库、I/O库等常用函数库,需要的朋友可以参考下
    2014-09-09
  • Lua中的__index方法详解

    Lua中的__index方法详解

    这篇文章主要介绍了Lua中的__index方法详解,本文详细讲解了__index方法的相关知识,以及代码示例,需要的朋友可以参考下
    2015-04-04
  • Lua教程(十五):输入输出库(I/O库)

    Lua教程(十五):输入输出库(I/O库)

    这篇文章主要介绍了Lua教程(十五):输入输出库,本文讲解了简单模型、完整I/O模型、性能小技巧、其它文件操作等内容,需要的朋友可以参考下
    2015-04-04
  • Lua和C++的通信流程代码实例

    Lua和C++的通信流程代码实例

    这篇文章主要介绍了Lua和C++的通信流程代码实例,本文是上一篇的DEMO,本文用代码讲解Lua和C++之间的通信,需要的朋友可以参考下
    2014-09-09
  • Lua教程(二):语法约定

    Lua教程(二):语法约定

    这篇文章主要介绍了Lua教程(二):语法约定,本文讲解了lua保留关键字、使用的标点符号、字符串、ASCII 码等,需要的朋友可以参考下
    2015-03-03
  • lua日志文件处理代码

    lua日志文件处理代码

    本文给大家分享的是使用lua编写的日志文件的处理代码,非常的简单实用,有需要的小伙伴可以参考下。
    2015-09-09
  • Lua loadstring函数用法实例

    Lua loadstring函数用法实例

    这篇文章主要介绍了Lua loadstring函数用法实例,loadstring最典型的用处是去执行外部代码,也就是位于程序之外的代码,需要的朋友可以参考下
    2015-04-04
  • 举例讲解Lua中的Table数据结构

    举例讲解Lua中的Table数据结构

    这篇文章主要介绍了举例讲解Lua中的Table数据结构,说明都融入到了注释中,需要的朋友可以参考下
    2015-07-07

最新评论