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 into right & left const length = array.length; const middle = Math.floor(length/2); const left = array.slice(0,middle); const right = array.slice(middle); // console.log('left:', left); // console.log('Right:', right); 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++; } } console.log(left, right) return result.concat(left.slice(leftIndex)).concat(right.slice(rightIndex)) } console.log(mergeSort(numbers));
Editor Settings
Theme
Key bindings
Full width
Lines