Merge Sort
Merge Sort
by Ammi Reddy Kovvuri
JavaScript
function merge(left, right) {
let arr = [];
while(left.length && right.length) {
if(left[0]<right[0]) { arr.push(left.shift()); }
else { arr.push(right.shift()); }
}
return arr.concat(left.slice().concat(right.slice()));
}
function mergeSort(arr) {
if(arr.length<2) { return arr;}
let middle = Math.floor(arr.length/2);
let left = arr.slice(0, middle);
let right = arr.slice(middle);
return merge(mergeSort(left), mergeSort(right));
}
console.log(mergeSort([7,5,3,2,1,6,3,8]));