Write a merge sort program

Merge Sort- Recursion

Write a merge sort program in JavaScript.

Sample array : [34, 7, 23, 32, 5, 62]
Sample output : [5, 7, 23, 32, 34, 62]

Pictorial Presentation:

Sample Solution:

Array.prototype.merge_Sort = function () {
  if (this.length <= 1) 
  {
    return this;
  }

  let half = parseInt(this.length / 2);
  let left = this.slice(0, half).merge_Sort();
  let right = this.slice(half, this.length).merge_Sort();
  let merge = function (left, right) {
      let arry = [];
	  while (left.length > 0 && right.length > 0) {
          arry.push((left[0] <= right[0]) ? left.shift() : right.shift());
      }
      return arry.concat(left).concat(right);
  };

  return merge(left, right);
};

let arr = [34,7,23,32,5,62];
console.log(arr.merge_Sort());

Flowchart:

posted @ 2020-05-20 00:06  PrimerPlus  阅读(90)  评论(0编辑  收藏  举报