js归并排序 function mergeSort (arr){ if (arr.length < 2){ //控制语句,结束递归 return arr; } var middle = Math.floor(arr.length/2); var left = arr.slice(0, middle); var right = arr.slice(middle); return merge(mergeSort(left), mergeSort(right)) } function merge(le…
function mergeSort(arr) { var len = arr.length; if(len > 1) { var index = Math.floor(len / 2); left = arr.slice(0,index); //得到下标从0~index-1的数组 right = arr.slice(index); //得到下标从index开始到末尾的数组 return merge(mergeSort(left) , mergeSort(right)); 里面采用递归 }els…
排序问题相信大家都比较熟悉了.用js简单写了一下几种常用的排序实现.其中使用了es6的一些语法,并且不仅限于数字--支持各种类型的数据的排序.那么直接上代码: function compare (a, b) { return (a - b) > 0; } // 冒泡排序O(n^2) const bubbleSort = function (arrayData, compareFn = compare) { let len = arrayData.length; for (let i = len…