带Lua的订单号
我试图找出一组数据的中位数、模式、平均值和范围。使用编程很容易找到平均值;但中位数、模式和范围要求数字按顺序排列(从最小到最大) 另外,我正在尝试组装它,这样它会返回我需要的数据,以制作一个方块和胡须图。(不是全部,只是基本的) 现在我只是在做这个: 将数字排序到表中(函数将返回该表) QWERTYUIOP[]\ 好的,主要问题是: 我该怎么做 这就是我正在运行的:带Lua的订单号,lua,Lua,我试图找出一组数据的中位数、模式、平均值和范围。使用编程很容易找到平均值;但中位数、模式和范围要求数字按顺序排列(从最小到最大) 另外,我正在尝试组装它,这样它会返回我需要的数据,以制作一个方块和胡须图。(不是全部,只是基本的) 现在我只是在做这个: 将数字排序到表中(函数将返回该表) QWERTYUIOP[]\ 好的,主要问题是: 我该怎么做 这就是我正在运行的: function Order_Numbers(Data_Set, Greatest_Integer, Least_Integer)
function Order_Numbers(Data_Set, Greatest_Integer, Least_Integer)
local Ordered = {} --Give a place for the numbers to go
for i=Least_Integer, Greatest_Integer do --Start from the lowest value, continue to highest.
table.insert(Ordered, Data_Set[i])
end
return Ordered
end
但它不起作用!
有人有想法吗?Lua发行版包括sort.Lua,它有一个快速排序的简单实现;略作简化,核心如下:
The Lua distribution includes sort.lua which has a simple implementation of quick sort; slightly simplified, the core is as follows:
function qsort(vec, low, high)
if low < high then
local middle = partition(vec, low, high)
qsort(vec, low, middle-1)
qsort(vec, middle+1, high)
end
end
功能qsort(vec、低、高)
如果低<高,则
本地中间=分区(vec、低、高)
qsort(vec、低、中-1)
qsort(vec,中+1,高)
结束
结束
->如果可以就地排序,请使用
表格。排序(数据集)
您考虑过使用吗?它甚至允许您提供一个函数来进行比较。这将非常有用,“>尝试调用全局“分区”(一个nil值)”