<分区>
我正在尝试将冒泡排序方法实现为一个简单的 Ruby 编码问题,但我遇到了一些麻烦。我理解这个想法是查看第一个元素的值并将其与第二个元素的值进行比较,然后相应地交换它们,但我似乎无法在实际问题中做到这一点。有人愿意提供一个简短的例子来说明这在 Ruby 中是如何工作的吗?
标签 ruby bubble-sort
<分区>
我正在尝试将冒泡排序方法实现为一个简单的 Ruby 编码问题,但我遇到了一些麻烦。我理解这个想法是查看第一个元素的值并将其与第二个元素的值进行比较,然后相应地交换它们,但我似乎无法在实际问题中做到这一点。有人愿意提供一个简短的例子来说明这在 Ruby 中是如何工作的吗?
最佳答案
使用 while 循环正确实现冒泡排序
def bubble_sort(list)
return list if list.size <= 1 # already sorted
swapped = true
while swapped do
swapped = false
0.upto(list.size-2) do |i|
if list[i] > list[i+1]
list[i], list[i+1] = list[i+1], list[i] # swap values
swapped = true
end
end
end
list
end
关于ruby - 在 Ruby 中对数组使用冒泡排序方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11091434/