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 红包祝福语简短10字
18 周六早晨祝福语简短