ruby专题

关注公众号 jb51net

关闭
首页 > 脚本专栏 > ruby专题 > ruby插入排序和冒泡排序算法

ruby实现的插入排序和冒泡排序算法

作者:

最近刚开始学ruby为了练习一下基本语法的使用,用ruby写了一下插入排序算法,可能有些从C#翻译过来的痕迹


1、插入排序

复制代码 代码如下:

seq = [3,4,9,0,2,5,9,7,1]

1.upto(seq.length-1) do |i|
  if seq[i] < seq[i-1]
    tmp = seq[i]
    j = i-1
    while(j>=0 && tmp<seq[j]) do
      seq[j+1] = seq[j]
      j=j-1
    end
    seq[j+1]=tmp
  end
end

seq.each {|num| puts num}

2、冒泡排序

复制代码 代码如下:

seq = [3,4,9,0,2,5,9,7,1,100,99,24,64,18,88,66]

0.upto(seq.length-1) do |i|
  exchange = false
   0.upto(seq.length-1-i-1) do|j|
     if seq[j]>seq[j+1]
       tmp = seq[j+1]
       seq[j+1] = seq[j]
       seq[j] = tmp
       exchange = true
     end
   end

  if !exchange
    break
  end
end

seq.each {|num| puts num}

您可能感兴趣的文章:
阅读全文