//归并
function merge(left,right){
var result = [];//作为中间容器,临时存放
while(left.length>0 && right>0){
if(left[0]<right[0]){
result.push(left.shift())
}else{
result.push(right.shift())
}
}
retrun result.concat(left).concat(right);
}
//拆分
function mergeSort(arr){
if(arr.length==1){
return arr;
}
var mid = Math.floor(arr.length/2);
var left_arr = arr.slice(0,mid);
var right_arr arr.slice(mid);
return merge(mergeSort(left_arr),mergeSort(right_arr)
}
var arr = [6,4,9,78,5,88];
console.log(mergeSort(arr));
原文:https://www.cnblogs.com/changhuanran/p/10713539.html