Quick actions

cmd+k|ctrl+k

Navigation

Languages

Merge Sort

Snippet info

Language

JavaScript

Visibility

public

Author

dhamankovachi1

Created

2023-12-12T01:27:11.70187Z

Updated

2023-12-12T01:27:11.70187Z

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);
INFO