我搜索了一下,没有找到描述这种排序方式的排序算法。我确实知道它没有实际用途,因为它效率非常低。这是用 Ruby 编写的:
def swap(array, i)
array[i], array[i+1] = array[i+1], array[i]
end
def compare(array, i)
array[i] > array[i+1]
end
def sort(array)
i = 0
until i + 1 == array.length
if compare(array, i)
swap(array, i)
i = 0
else
i += 1
end
end
return array
end
最佳答案
这是 Gnome sort kind - 从头开始走,直到发生顺序违规,然后交换,但这里的位置重置为数组开始。
关于ruby - 这种排序算法的名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41829277/