MergeSort

Run Settings
LanguageJavaScript
Language Version
Run Command
const numbers = [99, 44, 6, 2, 1, 5, 63, 87, 283, 4, 0]; function mergeSort (array) { if (array.length === 1) { return array } var midpoint = Math.ceil(array.length/2); var left = array.splice(0,midpoint); var right = array; return merge( mergeSort(left), mergeSort(right) ) } function merge(left, right){ if(right === null) { return left; } else { var i = left.length; var j = right.length; var mergedArr = []; while(i > 0 && j > 0) { if(left[0] < right[0]) { mergedArr.push(left.shift()); i--; } else { mergedArr.push(right.shift()); j--; } } if(i > j) { mergedArr.push(...left); } else { mergedArr.push(...right); } return mergedArr; } } const answer = mergeSort(numbers); console.log(answer);
Editor Settings
Theme
Key bindings
Full width
Lines