ruby Ruby中的气泡数组排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby Ruby中的气泡数组排序相关的知识,希望对你有一定的参考价值。

# wow
class Wow
  def initialize
    @arr = [45, 12, 1, 100_000, 500, 1_234, 12_311, 13_443]
    sort
    puts @arr.inspect
  end

  def sort
    sorts = false
    @arr.each_with_index do |_num, i|
      if @arr[i + 1].is_a?(Integer) && @arr[i + 1] < @arr[i]
        swap_values(i, i + 1)
        sorts = true
      end
    end

    sort if sorts
  end

  def swap_values(left_index, right_index)
    current_left = @arr[left_index]
    current_right = @arr[right_index]

    @arr[left_index] = current_right
    @arr[right_index] = current_left
  end
end

Wow.new

以上是关于ruby Ruby中的气泡数组排序的主要内容,如果未能解决你的问题,请参考以下文章

ruby 使用漂亮的格式和Ruby的,将git日志中的大部分有用信息编译成按时间顺序排序的经过验证的JSON数组

在没有排序函数的数组中对字符串进行排序 - Ruby

ruby:对符号数组进行排序

在Ruby中对数组使用冒泡排序方法[关闭]

如何在Ruby中将单词数组排序为字谜数组?

在Ruby中排序数组(特例)