-2
我必须在项目中使用红宝石进行冒泡排序,并且遇到问题。我将wikipedia上的伪代码翻译成ruby,而且它没有按预期工作。我不太确定有什么问题。问题与红宝石排序
swapped = false
def bubble_sort(list,swapped)
length = list.length
i = 1
until !swapped do
swapped = false
list.each do |i|
if list[i-1] > list[i]
list[i-1], list[i] = list[i], list[i-1]
swapped = true
end
end
end
return list
end
puts bubble_sort([1,3,7,4,6,9,10,5,8,2], swapped)
它以什么方式不起作用? – 2014-10-07 13:47:05
它正在打印传入的原始数组。 – jdublu10 2014-10-07 13:48:38
您是否已完成任何调试?我不记得泡泡排序是如何工作的,但是你所做的错误会在调试时做出极小的努力就会变得非常明显。我会给你一个提示,我会调查list.each块。这和你错过了算法的递归部分。 – 2014-10-07 13:55:40