您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-Lua之table的排序

2016-06-17 08:52 661 查看
一、冒泡排序

冒泡排序是最基本的一种排序算法,具体的件数据结构,这里就说说用Lua语言是怎么写的

a = {2, 56, 7, 36, 10, 1, 55, 9}

function sortarray()
len = table.maxn(a)
for i = 1, len do
for j = i + 1, len do
if(a[i] > a[j]) then
a[i], a[j] = a[j], a[i]
end
end
end
for i = 1, len do
print(a[i])
end
end

sortarray()    //调用冒泡排序


输出结果:



二、Lua语言自带的table排序

lua中自带的table排序的本质也是冒泡排序

a = {2, 56, 7, 36, 10, 1, 55, 9}

function tablesort()
len = table.maxn(a)
table.sort(a, function(a, b) return a > b end)    //table自带排序
for i = 1, len do
print(a[i])
end
end

tablesort()    //调用排序函数


table自带的排序算法格式:

table.sort(表名, 排序方式)


排序方式的函数决定了是从大到小排序还是从小到大排序。

输出结果:



小结:

还有很多其他的排序方式,比如二分排序,快速排序,桶排序等等,自己敲下代码,就不一一粘上来了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: