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

 更新时间:2014年05月27日 11:53:46   作者:  
最近刚开始学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}

相关文章

  • Ruby 多线程的潜力和弱点分析

    Ruby 多线程的潜力和弱点分析

    这篇文章主要介绍了Ruby 多线程的潜力和弱点分析,本文讲解了Ruby 多线程和 IO Block、Ruby GIL 的影响、JRuby 去除了 GIL、Ruby 多线程总结等内容,需要的朋友可以参考下
    2015-03-03
  • ruby 变量

    ruby 变量

    ruby 变量...
    2007-11-11
  • 在博客中屏蔽垃圾留言的简单方法

    在博客中屏蔽垃圾留言的简单方法

    这篇文章主要介绍了在博客中屏蔽垃圾留言的简单方法,作者以Ruby on Rails搭建的博客应用为例,需要的朋友可以参考下
    2015-08-08
  • ruby 杂项

    ruby 杂项

    ruby 杂项...
    2007-11-11
  • RUBY 新手教程 跟我一起学ruby

    RUBY 新手教程 跟我一起学ruby

    从今天起我就要开始学Ruby了。怎么样,没见吧?一个新人写教程。就凭我坚强的毅力,科学的自学方法,以及我的钻研精神,我有信心学通Ruby,而同样是新手的你也可以!
    2011-01-01
  • ruby迭代map的简洁写法实现原理分析

    ruby迭代map的简洁写法实现原理分析

    这篇文章主要介绍了ruby迭代map的简洁写法实现原理分析,本文着重对简洁写法的原理进行解析,需要的朋友可以参考下
    2014-11-11
  • Ruby中创建字符串的一些技巧小结

    Ruby中创建字符串的一些技巧小结

    这篇文章主要介绍了Ruby中创建字符串的一些技巧小结,本文用先讲解技巧然后给出代码示例的方式列出了多种Ruby创建字符串方法,需要的朋友可以参考下
    2015-01-01
  • Ruby中操作文件的方法介绍

    Ruby中操作文件的方法介绍

    这篇文章主要介绍了Ruby中操作文件的方法介绍,是Ruby学习当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Ruby编程中关于中断和返回的用法教程

    Ruby编程中关于中断和返回的用法教程

    这篇文章主要介绍了Ruby编程中关于中断和返回的用法教程,作者用代码举例讲解了其中需要注意的问题,需要的朋友可以参考下
    2015-05-05
  • ruby的程序结构介绍

    ruby的程序结构介绍

    这篇文章主要介绍了ruby的程序结构介绍,本文讲解了源文件、模块、控制结构、方法定义、类及对象等内容,需要的朋友可以参考下
    2015-05-05

最新评论