我试图使用冒泡排序方法对只有三个数字的数组进行排序下面是我正在使用的代码。
def my_sort(list)
return list if list.size <= 1
swapped = false
while !swapped
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]
swapped = true
end
end
list
end
my_sort([3,1,2])
以下是我一直收到的错误消息:
Syntax error, unexpected $end, expecting keyword_end
我只是想知道哪一端不应该包括在内?
最佳答案
您在end
之后缺少一个swapped = true
最好彻底、准确地缩进代码,以避免此类问题:
def my_sort(list)
return list if list.size <= 1
swapped = false
while !swapped
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]
swapped = true
end
end
end
list
end
关于ruby - 不使用Sort方法在Ruby中对数组进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11106981/