我正在尝试对数组进行排序,但是对于练习我无法使用sort
方法。
因为我还必须返回空数组,以及只有一个项目的数组,我有点作弊。 技术上我只需要排序三个项目,但这似乎是使用while
的情况吗?
这是我到目前为止所得到的。
def my_sort(input)
if input[0] == nil
print "[]"
elsif input[1] == nil
print "[" + input[0].to_s + "]"
end
end
我想知道我是否应该将其分解为字符串,或者是否有某种.each do ||
可以完成。
答案 0 :(得分:3)
听起来你要求排序算法。有lots,但像插入排序这样的东西可能是最容易实现的,或者冒泡排序,如果没有太多的数字可以排序。
也许this SO post会有所帮助。
答案 1 :(得分:0)
如果您只对三个项目进行排序,我建议使用Bubble sort。您需要做的就是遍历数组,一次一个元素。如果当前元素的值不正常,则将其与下一个元素交换。对于大型列表来说,这是一个非常可怕的算法;但它是排序算法的一个很好的,简单的介绍。