1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rubyによるバブルソートアルゴリズム

Posted at

学習機会があったので、Rubyのソートアルゴリズムについて記事に書いておこうと思います!

ソートアルゴリズムとは

アルゴリズムの中で最も基本的なものが「ソート(整理、並べ替え)」です。
データベースをはじめ、大量のデータを扱う機会は少なくありません。その際に、データを昇順、降順など、一定の規則に従って整列させる必要があります。そのための技術がソートアルゴリズムです。

代表的なソートアルゴリズムとして知られるひとつ「バブルソート」を書き残しておきます。




全体コードから見て行きましょう

def bubble_sort(nums)
  # 要素数10件
  len_nums = nums.size
  # limitが左にずれていく繰り返し処理
  for i in 0..(len_nums - 1)
    # limitに辿り着くまで隣同士の数値の比較を行う
    for j in 0..(len_nums - 2 - i)
      # 左の数値が大きかったら
      if nums[j] > nums[j + 1]
        # 左の数値を右に、右の数値を左に入れ替える
        nums[j], nums[j + 1] = nums[j + 1], nums[j]
      end
      # endなので次の隣通しの比較を行う
    end
    # endなのでlimitが左にずれる
  end
  return nums
end

# main
nums = [10, 8, 3, 5, 2, 4, 11, 18, 20, 33]
puts bubble_sort(nums)

要は[10, 8, 3, 5, 2, 4, 11, 18, 20, 33]の配列昇順にならびかえています。

Rubyにはsortという便利なめそっどがあるので、
nums.sortってやっちゃえば一発でできちゃうのですが。
どうゆう処理されてんねんてのが上のコードになります!!


自分用メモなので短くてすみません!! それでは!
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?