欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ruby實現(xiàn)的合并排序算法

 更新時間:2015年05月22日 11:32:10   投稿:junjie  
這篇文章主要介紹了Ruby實現(xiàn)的合并排序算法,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下

算法課的作業(yè),利用分治法,合并排序。

#encoding: utf-8
#author: xu jin, 4100213
#date: Oct 27, 2012
#MergeSort
#to sort an array by using MergeSort algorithm
#example output:
#The original array is:[4, 32, 84, 58, 49, 40, 75, 29, 82, 21, 70, 37, 70]
#The sorted array is: [4, 21, 29, 32, 37, 40, 49, 58, 70, 70, 75, 82, 84]

MAX = 100
arrayInt = Array.new
for index in (0..12)
 arrayInt[index] = rand(100) #produce 12 random number
end
puts "The original array is:" + arrayInt.to_s

def merge(arr, left, middle, right)
 arrL ,arrR = Array.new, Array.new
 arrL[0..(middle - left)], arrR[0..(right - middle - 1)] = arr[left..middle], arr[middle + 1.. right]
 arrL[arrL.size] ,arrR[arrR.size]= MAX, MAX
 for k in (left..right)
  arrL.first <= arrR.first ? (arr[k] = arrL.shift) : (arr[k] = arrR.shift)
 end
end

def merge_sort(arr, left, right)
 if left < right then
  middle = (left + right)/2
  merge_sort(arr, left, middle)
  merge_sort(arr, middle + 1, right)
  merge(arr, left, middle, right)
 end
end

merge_sort(arrayInt, 0, arrayInt.length-1)
puts "The sorted array is: " + arrayInt.to_s

相關文章

  • Ruby迭代器的7種技巧分享

    Ruby迭代器的7種技巧分享

    這篇文章主要介紹了Ruby迭代器的7種技巧分享,Ruby中的迭代器非常人性化,本文既是講解了7個技巧也是講解了7種迭代器,需要的朋友可以參考下
    2015-01-01
  • 用Ruby實現(xiàn)一個單元測試框架的教程

    用Ruby實現(xiàn)一個單元測試框架的教程

    這篇文章主要介紹了用Ruby實現(xiàn)一個單元測試框架的教程,在檢測Ruby代碼bug的時候非常有用,需要的朋友可以參考下
    2015-04-04
  • ruby元編程實際使用實例

    ruby元編程實際使用實例

    這篇文章主要介紹了ruby元編程實際使用實例,包含用eval、alias、defind_method、instance_eval等實際使用例子,需要的朋友可以參考下
    2014-07-07
  • Ruby中的String對象學習筆記

    Ruby中的String對象學習筆記

    這篇文章主要介紹了Ruby中的String對象學習筆記,本文講解了String對象的定義、String對象的操作、使用數(shù)組下標的方式操作字符串等內容,需要的朋友可以參考下
    2014-11-11
  • Ruby學習筆記一

    Ruby學習筆記一

    學習ruby有段時間了,記錄下自己的學習心得并分享幾個例子給大家
    2014-07-07
  • 使用Ruby程序實現(xiàn)web信息抓取的教程

    使用Ruby程序實現(xiàn)web信息抓取的教程

    這篇文章主要介紹了使用Ruby程序實現(xiàn)web信息抓取的教程,本文來自于IBM官方網站技術文檔,需要的朋友可以參考下
    2015-04-04
  • Ruby 字符串處理

    Ruby 字符串處理

    Ruby 字符串處理...
    2007-11-11
  • Ruby定義私有方法(private)的兩種辦法

    Ruby定義私有方法(private)的兩種辦法

    這篇文章主要介紹了Ruby定義私有方法(private)的兩種辦法,本文直接給出代碼實例,需要的朋友可以參考下
    2015-05-05
  • Ruby 迭代器及文件的輸入與輸出

    Ruby 迭代器及文件的輸入與輸出

    這篇文章主要介紹了Ruby的迭代器和文件的輸入輸出,文章中有詳細的代碼示例,需要的朋友可以參考閱讀一下
    2023-04-04
  • Ruby和元編程之萬物皆為對象

    Ruby和元編程之萬物皆為對象

    這篇文章主要介紹了Ruby和元編程之萬物皆為對象,想要掌握Ruby和Ruby的元編程,對象就是第一門必修功課,需要的朋友可以參考下
    2014-10-10

最新評論