Ruby mergesort 归并排序
发布时间:2020-12-17 04:09:47 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 def merge_sort(a,b)if a.length 1temArr = split_array(a)a = merge_sort(temArr[0],temArr[1])if b.length 1temArr = split_array(b)b = merge_sort
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 def merge_sort(a,b) if a.length > 1 temArr = split_array(a) a = merge_sort(temArr[0],temArr[1]) if b.length > 1 temArr = split_array(b) b = merge_sort(temArr[0],temArr[1]) end end final = [] until a.empty? or b.empty? final << (a.first < b.first ? a.shift : b.shift) end final + a + b end def split_array a tem = [] tem << a.shift((a.length + 1)/2) tem << a end a=*0..20 a.reverse! a.shuffle! p a s = split_array a p merge_sort s[0],s[1] 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |