使用 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}


转载于:https://www.cnblogs.com/heimirror/archive/2011/04/24/2026105.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值