2015年1月10日土曜日

150110

Ruby


「アルゴリズムとデータ構造」のRuby版。

バブルソート

# -*- coding: cp932 -*-

# データの件数
N = 10

def bubbleSort()
  flag = true
  # 1度も並べ替えをせずに見終わったら終了
  while flag
    flag = false
    for i in (0..N - 2)
      # 左右の並びがおかしければ
      if @sort[i] > @sort[i + 1]
        flag = true
        j = @sort[i]
        @sort[i] = @sort[i + 1]
        @sort[i + 1] = j
      end
    end
  end
end

@sort = []
printf("ソート準備:\n")
for i in (0..N - 1)
  # 配列にランダムな値を格納
  @sort[i] = rand(1000)
  printf("%d ", @sort[i])
end
printf("\nソート開始:\n")
bubbleSort()
printf("\nソート終了:\n")
for i in (0..N - 1)
  printf("%d ", @sort[i])
end

0 件のコメント:

コメントを投稿