Merge Sort

Run Settings
LanguageJavaScript
Language Version
Run Command
let array = [6, 5, 3, 1, 8, 7, 2, 4]; // let array = [99,44,6,2,1,5,63,87,283,4,0]; function mergeSort(arr) { // debugger; let len = arr.length; if (len <= 1) { return; //base case } let left = []; let right = []; let left_size = Math.floor(len / 2); let right_size = len - left_size; for (let i=0; i<left_size;i++) { left.push(arr[i]); } for (let i=left_size; i<len;i++) { right.push(arr[i]); } mergeSort(left); mergeSort(right); merge(arr, left, right); } function merge(arr, left, right) { let l = 0; let r = 0; let i = 0; while (l < left.length && r < right.length && i < arr.length) { if (left[l] < right[r]) { arr[i] = left[l]; l++; } else { arr[i] = right[r]; r++; } i++; } while (l < left.length) { arr[i] = left[l]; l++; i++; } while (r < right.length) { arr[i] = right[r]; r++; i++; } } mergeSort(array); console.log(array);
Editor Settings
Theme
Key bindings
Full width
Lines