function mergin(left,right){
var res=[];
while(left.length && right.length){
if(left[0]<right[0]){
res.push(left.shift());
}else{
res.push(right.shift());
}
}
return res.concat(left,right);
}
function myMergin(arr){
if(arr.length==1){
return arr;
}
var mid=Math.floor(arr.length/2);
var arr_left=arr.slice(0,mid);
var arr_right=arr.slice(mid);
return mergin(myMergin(arr_left),myMergin(arr_right));
}
var srr=[99,38,2,100,28,35,74,11,44];
var s=myMergin(srr);
console.log(s);
代码主要使用到了递归的方式实现,将数组一层一层的分化,在一层一层的比较合并。