【发布时间】:2015-10-24 03:46:36
【问题描述】:
我需要帮助来理解这个编程解决方案中的一些语法和逻辑。
def bubble_sort(arr)
sorted = false
until sorted
sorted = true
(arr.count - 1).times do |i|
if arr[i] > arr[i + 1]
arr[i], arr[i + 1] = arr[i + 1], arr[i]
sorted = false
end
end
end
arr
end
具体来说,我在理解until 循环以及sorted = true 和sorted = false 的部分时遇到了一些麻烦。我在这里做了一些阅读,我想我知道如果仍然需要对数组进行更改,sorted 将设置为false 并且循环继续。但如果有人能再向我解释一下,我将不胜感激。
看起来时间循环只对每个数组元素减一执行一次,然后交换位置。直到循环如何发挥作用?
【问题讨论】:
标签: arrays ruby sorting bubble-sort