求解一个lua基础的排序问题,有懂得请不吝赐教下。这里拜谢在先!
MUSH里的一个lua的表格:testlua={
=6,
=3,
=8,
=9,
=4,
=7,
}
我想按照后边的value排序,有没有啥办法实现?就是结果是(从小到大):
testlua={
=3,
=4,
=6,
=7,
=8,
=9,
}
北大侠客行MUD,中国最好的MUD 自己写个冒泡排序呗 本帖最后由 littleknife 于 2011-11-22 12:13 PM 编辑
回复 2# jason
真没想到。。。唉。。没学好啊。。。
testlua={
["item3"]=6,
["item1"]=3,
["item5"]=8,
["item6"]=9,
["item2"]=4,
["item4"]=7,
}
print("=================")
ts = {} -- table to hold the keys
table.foreach (testlua, function (k, v) table.insert (ts, k) end )
table.sort (ts) -- sort keys
table.foreachi (ts, print) -- print sorted keys
结贴。。惭愧,惭愧。。 数据量小,可以冒泡
唉,看jason提到冒泡,我一下想起来,读书的时候,学的“数据结构”了 开辟一个新数组那是浪费空间。有一个临时变量就好了。 回晚了啊。呵呵。
testlua={
["item3"]=6,
["item1"]=3,
["item5"]=8,
["item6"]=9,
["item2"]=4,
["item4"]=7,
}
ts = {} -- table to hold the keys
for k,v in pairs(testlua) do
table.insert(ts,{K=k,V=v})
end
table.sort (ts,function(a,b) return a.V< b.V end) -- sort keys
for _,item in ipairs(ts) do
print(item.K,item.V)
end 谢谢各位达人,大侠!这里灰常感谢各位的指点!介个介个。。。太有用啦。。。。哈哈哈。。。 回复jizong
弱弱地问一句,数据结构在工作的时候不常用吗?
istillsun 发表于 2011-11-22 01:23 PM http://pkuxkx.com/forum/images/common/back.gif
我的工作跟计算机完全不沾边~~~
页:
[1]