Ruby实现的合并排序算法
算法课的作业,利用分治法,合并排序。
#encoding:utf-8 #author:xujin,4100213 #date:Oct27,2012 #MergeSort #tosortanarraybyusingMergeSortalgorithm #exampleoutput: #Theoriginalarrayis:[4,32,84,58,49,40,75,29,82,21,70,37,70] #Thesortedarrayis:[4,21,29,32,37,40,49,58,70,70,75,82,84] MAX=100 arrayInt=Array.new forindexin(0..12) arrayInt[index]=rand(100)#produce12randomnumber end puts"Theoriginalarrayis:"+arrayInt.to_s defmerge(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 forkin(left..right) arrL.first<=arrR.first?(arr[k]=arrL.shift):(arr[k]=arrR.shift) end end defmerge_sort(arr,left,right) ifleft<rightthen 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"Thesortedarrayis:"+arrayInt.to_s
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练