使用Lua订购号码

时间:2011-09-30 18:24:38

标签: lua

我正在努力寻找一组数据的中位数,模式,平均值和范围。使用编程很容易找到平均值;但是中位数,模式和范围要求数字按顺序排列(从最小到最大)。

另外,我正在尝试组装它,以便返回制作盒子和胡须图所需的数据。 (不是全部,只是基本的)。

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

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

但它不起作用! 有人有想法吗?

3 个答案:

答案 0 :(得分:5)

您是否考虑过使用table.sort?它甚至允许您提供进行比较的功能。

答案 1 :(得分:1)

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

- &GT; http://lua-users.org/wiki/LazySort

答案 2 :(得分:1)

如果您可以进行排序,请使用table.sort(Data_Set)