我的编程书中有一个练习,要求我在不使用任何内置排序的情况下对 Ruby 中的字符串数组进行排序。我正确地对前 5 名进行了排序,但随后就停止了,我无法弄清楚原因。这是我到目前为止所拥有的:
numbers = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']
def sortArray myArray
recursiveSort myArray, []
end
def recursiveSort myArray, sortedArray
trashArray = myArray
myArray.each do |num|
largest = num
trashArray.each do |comp|
if comp > largest
largest = comp
end
end
sortedArray.push(largest)
trashArray.delete_at(trashArray.index(largest))
end
puts sortedArray
end
sortArray numbers