{"body":"def insert(array)\n    if array.length == 1\n        return array\n    elsif array.length == 2\n        if array[0] <= array[1]\n            return [array[0], array[1]];\n        else \n            return [array[1], array[0]];\n\t\tend\n    else\n        k = (array.length / 2).floor\n        left = array[0..k]\n        right = array[k..array.length]\n\t\tleft = insert(left);\n\t\tright = insert(right);\n\t\ti,j,newArray = 0,0,[] of Int32\n        while i < left.length || j < right.length\n            if left[i] <= right[j]\n                if i < left.length\n                    newArray.push(left[i]);\n                    i+=1\n\t\t\t\telse\n                    newArray.push(right[j]);\n                    j+=1\n\t\t\t\tend\n            else\n                if j < right.length\n                    newArray.push(right[j]);\n                    j+=1\n                else\n                    newArray.push(left[i]);\n                    i+=1\n\t\t\t\tend\n\t\t\tend\n\t\tend\n        newArray\n\tend\nend\n\n\nputs insert([1,5,8,3,9,2,5])","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/VMbUPrVu","modified":1427837270,"id":"VMbUPrVu","size":985,"lines":41,"own_paste":false,"theme":"","date":1427837270}