标签:obj code 合并 ice 开始 OLE 归并排序 排序 利用
function mergesort(arr) { var len= arr.length; if (len==1) { return arr;//返回的条件是数组大小为1 } var midIndex = Math.floor(len/2); var mid = arr[midIndex]; var left = arr.slice(0, midIndex); var right = arr.slice(midIndex, len); return merge(mergesort(left),mergesort(right));//数组都为1时,才开始进行归并 } function merge(left, right) {//归并是一个从下到上的顺序 var i =0; var j = 0; var result = []; while (i<left.length && j<right.length) {//这里利用数组result进行排序,从下往上依次是排好序的数组,然后一步一步合并成大数组。 if(left[i]<right[j]) { result.push(left[i]); i++; } else { result.push(right[j]); j++; } } while (i<left.length) {//这里是把剩余项依此放到result中 result.push(left[i]); i++; } while (j<right.length) { result.push(right[j]); j++; } return result; } var object = new mergesort([1,5,6,2,4,3]); console.log(object);
标签:obj code 合并 ice 开始 OLE 归并排序 排序 利用
原文地址:https://www.cnblogs.com/sarah-wen/p/10740437.html