ruby - 这种排序算法的名称是什么?

标签 ruby algorithm sorting

我搜索了一下,没有找到描述这种排序方式的排序算法。我确实知道它没有实际用途,因为它效率非常低。这是用 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/

相关文章:

ruby - Bundler 可以根据我的 ruby​​ 版本(或受其他依赖项限制)自动安装最新版本吗?

并行访问图形边缘的算法?

list - 根据每个列表的第三个元素对 flutter 中的 2D 列表进行排序

Linux 排序表现出奇怪的行为

php - 更新数据库mysql php中的序列号

ruby - 为什么 ruby​​ 中的变量前缀允许在方法调用中省略括号?

ruby-on-rails - 用于多个帐户的带有 IMAP IDLE 的 Ruby on Rails

algorithm - 从总和值递减的集合中找出大小为 r 的组合

ruby - ruby 中的二进制分数

c# - 具有负值的最短路径的最快算法?