0

我正在尝试对数组进行排序,但对于练习我不能使用该sort方法。

由于我还必须返回空数组,以及其中只有一项的数组,所以我在这些方面作弊。从技术上讲,我最多只需要对三个项目进行分类,但这似乎是一种可以使用的情况while

这是我到目前为止所得到的。

def my_sort(input)
  if input[0] == nil
    print "[]"
  elsif input[1] == nil
    print "[" + input[0].to_s + "]"
  end
end

我想知道是否应该将其分解为字符串,或者是否.each do ||可以这样做。

4

2 回答 2

3

听起来你在要求一个排序算法。有很多,但像插入排序这样的东西可能是最容易实现的一种,或者冒泡排序,如果没有太多数字需要排序的话。

也许这篇 SO 帖子会有所帮助。

于 2012-06-15T20:14:01.177 回答
0

如果您只对三个项目进行排序,我建议您使用Bubble sort。您需要做的就是遍历数组,一次一个元素。如果它们无序,则将当前元素的值与下一个元素交换。对于大列表来说,这是一个非常糟糕的算法;但这是对排序算法的一个很好、简单的介绍。

于 2012-06-15T20:13:20.287 回答