【发布时间】:2014-07-12 21:11:24
【问题描述】:
我看到有更好的 ruby 冒泡排序代码已经发布在诸如这里的地方: Using the Bubble sort method for an array in Ruby 但是我在调试我当前的代码时遇到了麻烦,希望能帮助我弄清楚我的代码为什么不起作用。谢谢。
def bubble_sort(arr)
original = arr
x = 0
while x < arr.count - 1
if arr[x] < arr[x + 1]
y = arr[x + 1]
arr[x + 1] = arr[x]
arr[x] = y
end
x += 1
end
if original == arr
return arr
else
return bubble_sort(arr)
end
end
【问题讨论】:
-
定义“不起作用”
-
original = arr不会像您认为的那样做。你也在修改original。试试... = arr.dup。 -
虽然冒泡排序不是很有效,但这是我能想象到的最糟糕的变体。
-
@undur_gongor:这意味着OP有很大的潜力:)
标签: ruby bubble-sort