{"body":"def mergesort(list)\n  return list if list.size <= 1\n  mid = list.size / 2\n  left  = list[0, mid]\n  right = list[mid, list.size-mid]\n  merge(mergesort(left), mergesort(right))\nend\n\ndef merge(left, right)\n  sorted = [] of Int32\n  until left.empty? or right.empty?\n    if left.first <= right.first\n      sorted << left.shift\n    else\n      sorted << right.shift\n    end\n  end\n  sorted.concat(left).concat(right)\nend\n\nputs mergesort([1,4,2,7,9,5,6,2])","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/fhJx0StW","modified":1427843722,"id":"fhJx0StW","size":447,"lines":21,"own_paste":false,"theme":"","date":1427843722}