Enjoy Architecting

Twitter: @taisho6339

【アルゴリズム+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を含むようになるとか、、、、
早く慣れたい、、、、