Merge Sort

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 } // Split Array in into right and left const length= array.length; const middle=Math.floor(length/2); const left =array.slice(0,middle); const right=array.slice(middle) return merge( mergeSort(left), mergeSort(right) ) } function merge(left, right){ const result=[]; let leftIndex=0; let rightIndex=0; while(leftIndex< left.length && rightIndex< right.length){ if(left[leftIndex]<right[rightIndex]){ result.push(left[leftIndex]); leftIndex++; }else{ result.push(right[rightIndex]); rightIndex++; } } return result.concat(left.slice(leftIndex)).concat(right.slice(rightIndex)); } const answer = mergeSort(numbers); console.log(answer);
Editor Settings
Theme
Key bindings
Full width
Lines