ruby 内存与变量====数组排序

基本类型

数字123

字符串“abc”

布尔true  false
 

复杂类型   由基本类型组成

array

hash

class

a2 = [1,3,2,3,4]

a1 = a2

共用内存

str1 = “abc”

str2 = “abc”

 

#  获取数组的最小值  使用数组方法 class MyRecursion

  # 找到最小值 放在数组中
  def min_element(array, low, high)

    if (low == high)
      # 如果只有一个元素,那么这个元素就是最小值
      return array[high]
    end 
    #  找到中间元素
    #  low是第一个元素
    #  high是最后一个元素
    mid = (low + high) >> 1
    # 在左边寻找最小的元素
    # 在右边寻找最小的元素
    # 调用方法 min_element
    a = self.min_element(array, low, mid)
    b = self.min_element(array, mid + 1, high)
    if (a < b)
      #  当a是最小值
      return a
    else
      #  当b是最小值
      return b
    end 

  end
  # 把元素放在数组中
  def display_element(array, size)
    i = 0 
    while (i < size)
      print(" ", array[i])
      i += 1
    end 
    print("\n")
  end 
end
def main()

  obj = MyRecursion.new()
  #  给出一个数组
  array = [7, 3, 8, 23, 3, 2, 9, 35, 13, 42, 1, 3]
  # Get the size of given array
  # 获取数组的元素数量

 size = array.length
  print("Element : ")
  obj.display_element(array, size)
  result = obj.min_element(array, 0, size - 1)
  print("Minimum Element : ", result ," \n")
end
main()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值