首页 > 其他 > 详细

Write a merge sort program

时间:2020-05-20 09:05:58      阅读:64      评论:0      收藏:0      [点我收藏+]

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:

技术分享图片

Write a merge sort program

原文:https://www.cnblogs.com/PrimerPlus/p/12920577.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!