婷婷综合国产,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實現的合并排序算法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 迭部县| 鲁山县| 都安| 嘉祥县| 海门市| 盐山县| 玉门市| 阿城市| 云林县| 英吉沙县| 左贡县| 景东| 鄂伦春自治旗| 永福县| 嘉禾县| 保山市| 邵东县| 庆云县| 陈巴尔虎旗| 顺昌县| 永平县| 微山县| 仲巴县| 青冈县| 南华县| 永福县| 兴文县| 邛崃市| 平泉县| 桃江县| 锡林浩特市| 清涧县| 福清市| 都昌县| 盘锦市| 大渡口区| 鸡西市| 霍山县| 广饶县| 南溪县| 聂荣县|