从头开始创建冒泡排序方法 运行 进入“<”noMethod 错误

Creating a bubble sort method from scratch and run into a "<" noMethod error

从头开始制作冒泡排序方法并不断 运行 导致 noMethod 错误,并指出“<”符号是罪魁祸首。

array = [2, 1]

def bubble_sort(arg)
    count = 0
    while count < arg.length 
        arg.each do |n|
            if arg[n] > arg[n + 1]
                arg[n], arg[n + 1] = arg[n + 1], arg[n]
            end
            count += 1
        end
    end
    puts arg
end

bubble_sort(array)

任何帮助,超出我的要求,将不胜感激。

乍一看,我发现你的冒泡排序算法存在一些问题。

编辑你的代码我想到了这个......我现在还没有办法运行,所以我不知道下面的代码是否也有效......但是尝试 rai 没有坏处。

count = 0

while count < arg.length 
    n = 0
    while n < arg.length - count
        if arg[count] > arg[n+count]
            arg[count], arg[n+count] = arg[n+count], arg[count]
        end
        n += 1
    end
    count += 1
end
puts arg

应该可以解决问题...让我知道它是否不起作用