带Lua的订单号

带Lua的订单号,lua,Lua,我试图找出一组数据的中位数、模式、平均值和范围。使用编程很容易找到平均值;但中位数、模式和范围要求数字按顺序排列(从最小到最大) 另外,我正在尝试组装它,这样它会返回我需要的数据,以制作一个方块和胡须图。(不是全部,只是基本的) 现在我只是在做这个: 将数字排序到表中(函数将返回该表) QWERTYUIOP[]\ 好的,主要问题是: 我该怎么做 这就是我正在运行的: function Order_Numbers(Data_Set, Greatest_Integer, Least_Integer)

我试图找出一组数据的中位数、模式、平均值和范围。使用编程很容易找到平均值;但中位数、模式和范围要求数字按顺序排列(从最小到最大)

另外,我正在尝试组装它,这样它会返回我需要的数据,以制作一个方块和胡须图。(不是全部,只是基本的)

现在我只是在做这个: 将数字排序到表中(函数将返回该表)

QWERTYUIOP[]\

好的,主要问题是: 我该怎么做

这就是我正在运行的:

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值)”