読者です 読者をやめる 読者になる 読者になる

情報系の凡才日記

エンジニアりんぐの試行錯誤とか参加したイベントとかについて書いていこうとおもいます。

【アルゴリズム+Ruby】とりあえずバブルソートの実装【一日目】

備忘録。
アルゴリズムとデータ構造を復習がてらついでにRubyを習得しようと思って、今日は試しにバブルソート書いてみました。
初めてのRuby、、、まだ思うように使えないから少しの間こっちがメインになりそう、、、

  1 =begin
  2     バブルソートプログラム
  3 =end
  4 
  5 def bubble_sort(array)
  6     size = array.length
  7     for i in 0...size
  8         for j in 0...(size-(1+i))
  9             if array[j] > array[j + 1] then
 10                 tmp = array[j+1]
 11                 array[j+1] = array[j]
 12                 array[j] = tmp
 13             end
 14         end
 15     end
 16 end
 17 
 18 def print_array(array)
 19     for i in 0...array.length
 20         printf("%d ",array[i])
 21     end
 22     print("\n")
 23 end
 24 
 25 array = [23,45,1,2,455,667,875,5,0,34]
 26 print_array(array)
 27 bubble_sort(array)
 28 print_array(array)


実行結果

23 45 1 2 455 667 875 5 0 34 
0 1 2 5 23 34 45 455 667 875 

個人的に

0...size

この範囲オブジェクトとかいうのがすごく新鮮でした。
これ

0..size

こうするとsizeを含むようになるとか、、、、
早く慣れたい、、、、