lua实现函数 功能是对输入的字符串数组排序。比如:输入"ab","bc","asd","qwe",输出为"b
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua实现函数 功能是对输入的字符串数组排序。比如:输入"ab","bc","asd","qwe",输出为"b相关的知识,希望对你有一定的参考价值。
输出为"bc","ab","qwe","asd",而且输入是自己键入的,不是就这样而已,可以改的
t="ab","bc","asd","qwe"table.sort(t)
for i,v in pairs(t) do
print(v)
end追问
数组字符串是键入的,不只是这四个字符串
追答看来你学习很不用工啊 是不是键入的跟排序算法是没有关系的
t =
while true do
local str = io.read()
if str ~= "#" then
table.insert(t,str)
else
break
end
end
table.sort(t)
for i,v in pairs(t) do
print(v)
end
任意输入字符串,输入# 表示结束 如果OK的话就采纳吧
LUA对Map进行排序
Lua中最常见的数据结构就是Table, 用Table表示Map很容易, 但早期Lua没有提供一个针对Map数据结构的排序方法,下面用Moonscript实现了一个Map型数据结构排序函数方法。
比如,我们在统计某些元素的个数时,[["a", 100], ["b",10],["c",1]]这种数据结构,元素的个数都比较少的,简单的排序算法都可以解决,数据变大时,我们可能会采用更复杂的算法去实现。
其实实现的原理比较简单,就是用两个Table,分别存储Map的Key与Value,用比较简单的冒泡排序或是选择排序对Key的Table结构进行排序,在排序的过程中移动Table中Key的存储位置的同时,也安对应的下标移动Value数组的位置,这样当Key排序好的同时,Value也被排序好了。
下面的例子没有直接使用Lua实现,用了Moonscript实现了这个简单的过程,然后通过Moonc解释程序把Moonscript翻译成Lua, Moonscript天然支持类,并且用Moonscript实现的函数相对也比Lua简洁一些。
降序排序:
升序和降序的方法比较简单,直接将与max比较的“>”大于号,改成小于号,或是想反。
升序排序:
以上是关于lua实现函数 功能是对输入的字符串数组排序。比如:输入"ab","bc","asd","qwe",输出为"b的主要内容,如果未能解决你的问题,请参考以下文章