婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby實現的合并排序算法

Ruby實現的合并排序算法

熱門標簽:高德地圖標注客服 常德電銷平臺外呼系統軟件價格 百度地圖標注自定義圖片 電銷機器人廠商代理 湖州u友防封電銷卡 白銀外呼paas系統 滴滴外呼系統 徐州網絡外呼系統哪個好 地圖標注賺錢項目注冊

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

#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實現的各種排序算法
  • ruby實現的插入排序和冒泡排序算法
  • Ruby實現的矩陣連乘算法
  • Ruby實現二分搜索(二分查找)算法的簡單示例
  • Ruby實現的3種快速排序算法
  • Ruby實現的最優二叉查找樹算法
  • Ruby實現的圖片濾鏡算法代碼

標簽:梧州 三沙 永州 荊門 普洱 遼寧 張家界 公主嶺

巨人網絡通訊聲明:本文標題《Ruby實現的合并排序算法》,本文關鍵詞  Ruby,實現,的,合并,排序,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby實現的合并排序算法》相關的同類信息!
  • 本頁收集關于Ruby實現的合并排序算法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 承德县| 天门市| 随州市| 安达市| 万载县| 峡江县| 民县| 疏附县| 洞口县| 南雄市| 化州市| 德惠市| 扎赉特旗| 蒙阴县| 花垣县| 黄龙县| 渝北区| 开封市| 密云县| 十堰市| 邵阳市| 门源| 东兴市| 荥经县| 冷水江市| 延安市| 红桥区| 观塘区| 宜君县| 布拖县| 汶川县| 太白县| 雷州市| 三原县| 汉沽区| 莱西市| 九江县| 庄河市| 铅山县| 涿鹿县| 绥滨县|