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
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短