プログラミングの本に、組み込みの並べ替えを使用せずに、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