# Merge\_sort problem

**URL:** <https://www.ruby-forum.com/t/merge-sort-problem/68529>\
**Category:** Ruby\
**Created:** [September 13, 2006, 12:10pm UTC](https://www.ruby-forum.com/t/merge-sort-problem/68529 "2006-09-13T12:10:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Haofei](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a4c791/32.png) [@Haofei](https://www.ruby-forum.com/u/Haofei)\
**Post date:** [September 13, 2006, 12:10pm UTC](https://www.ruby-forum.com/t/merge-sort-problem/68529/1 "2006-09-13T12:10:52Z")

</div>

here is the merge\_sort i write in ruby. but it doesn’t produce the  
right answer, i can’t find where the problem is . thanks in advance

def merge(a, p, q, r)  
a1=a[0…(q-p)]  
a2=a[(q-p+1)…r]  
a1\<\<99999999  
a2\<\<99999999  
i=j=0  
for k in (p…r)  
if a1[i]\<=a2[j]  
a[k]=a1[i]  
i=i+1  
else  
a[k]=a2[j]  
j=j+1  
end  
end  
end

def merge\_sort(a,p,r)  
if p\<r  
q =(p+r)/2  
merge\_sort(a,p,q)  
merge\_sort(a,q+1,r)  
merge(a,p,q,r)  
end  
end

a=[]  
10.times {a\<\<rand(10)}  
p a  
merge\_sort(a,0,9)  
p a

---

<div class="post-metadata">

**Author:** ![Haofei](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a4c791/32.png) [@Haofei](https://www.ruby-forum.com/u/Haofei)\
**Post date:** [September 13, 2006, 12:59pm UTC](https://www.ruby-forum.com/t/merge-sort-problem/68529/2 "2006-09-13T12:59:02Z")

</div>

got it, i write something stupid ,🙂
