JavaScript算法之归并排序

来源:互联网 发布:excel编程vba 编辑:程序博客网 时间:2024/05/22 12:58
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);

代码主要使用到了递归的方式实现,将数组一层一层的分化,在一层一层的比较合并。
原创粉丝点击