您的位置:首页 > Web前端 > JavaScript

javascript 中合并排序算法 详解

2015-12-03 13:27 567 查看
javascript 中合并排序算法 详解

我会通过程序的执行过程来给大家合并排序是如何排序的... 合并排序代码如下:

[javascript] view plaincopy

<script type="text/javascript">

function merge(left,right)

{

var result=[];

while(left.length>0&&right.length>0)

{

if(left[0]<right[0])

result.push(left.shift());

else

result.push(right.shift());

}

return result.concat(left).concat(right);

}

function mergeSort(items)

{

if(items.length==1)

{

return items;

}

var middle=Math.floor(items.length/2);

var left=items.slice(0,middle);

var right=items.slice(middle);

return merge(mergeSort(left),mergeSort(right));

}

var items=mergeSort([100,44,2,4,6,78]);

alert(items);

</script>

代码里面用到了递归算法.. 和 二分法的思想, 大家看下面的步骤:



上面是我对合并算法的理解,如有不对之处,希望大家多多指导,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: