首页 > 编程 > Ruby > 正文

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

2020-03-29 12:10:39
字体:
来源:转载
供稿:网友


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}



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表