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