/** * Created by kaer on 2017/4/29. */ //1.先将数组分为两部分,可用递归方式,最后数组只包含一个元素 //2.将各个单元素数据重新组合成排序后数组(捷径:当数组只有两个元素时,可直接排序,不需要进一步分解再组合) function split(arr){ var len = arr.length; if(len > 2) { var middle = Math.floor(len/2); var preArr = arr.slice(0,middle); var nextArr = arr.slice(middle,len); return merge(split(preArr),split(nextArr)); } var newArr = []; if(len == 2) { if(arr[0] > arr[1]) { newArr.push(arr[1]); newArr.push(arr[0]); return newArr; } return arr; } if(len ==1) { return arr; } } function merge(aTmp,bTmp){ var a = aTmp; var b = bTmp; var newArr = []; for(var i = 0;i 0){ for(var i= 0;i 0){ for(var i= 0;i
function merge(aTmp,bTmp){ var a = aTmp; var b = bTmp; var newArr = []; var len = a.length + b.length; var alen = a.length; var blen = b.length; console.log(len); console.log(a); console.log(b); for(var i=0,j=0,k=0;k 0){ for(var i= 0;i 0){ for(var i= 0;i