ruby基础算法--使用比较符号对数组排序

在 Ruby 中定义类

为了使用 Ruby 实现面向对象编程,您需要先学习如何在 Ruby 中创建对象和类。

在 Ruby 中,类总是以关键字 class 开始,后跟类的名称。类名的首字母应该大写。

只使用 比较符号 ( > , < ) 和条件判断 和 循环语句,对一个数组进行排序。

可以多次定义变量,但是不能定义多个方法(所有代码都写在一个 (大部分)或者2个方法中)

不能使用 [1,2,3,5,8].sort 这样的方法

例如:

my_sort([4,8,9,1,2,5] ) # => [1,2,4,5,8,9]

#定义方法 求数组的排序
#定义类 数组Array
class Array
  def bubble_sort!
    #数组每一个元素进行遍历,每遍历一次i减少1
    for i in 0...(size - 1)
      puts "------------i is #{i}------------size is #{size}"
      #数组每个元素进行遍历,每次遍历范围减少i.   且减少1
      for j in 0...(size - i - 1)
        puts  "===============j is #{j}----size - j-1 is #{size-i-j}----"
        puts "self[j] is #{self[j]}-----self[j+1] is #{self[j+1]}----"
        #每次遍历,对两个元素进行遍历,比较大小
        self[j], self[j + 1] = self[j + 1], self[j] if self[j] > self[j + 1]
        puts "============================self is #{self}"
      end 
    end 
    # 获取数组
    puts "--------------------------------self is #{self}"
    self
  end 
end
#设置数组的初始值,调用方法
puts [22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70].bubble_sort!
puts [4,8,9,1,2,5].bubble_sort!


版权声明:本文为m0_67038390原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。