码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript排序算法——并归排序

时间:2016-02-03 12:42:01      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>归并排序</title>
<!--<link rel="stylesheet" type="text/css" href="../style/fdt.css" />-->
<script type="text/javascript" src="../js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="../js/jquery.easydrag.handler.beta2.js"></script>
<script type="text/javascript">

	$(document).ready(
		function() { 
			
			var array_1 = [9,8,7,6,5,4,3,2,1];
			alert(array_1);
			/*mergeSort*/
			//迭代实现
		    alert(mergeSort(array_1));

		}
	); 



</script>

<style type="text/css">
	
	* { padding:0; margin:0; }

	body {
		padding: 100px;
		font-size: 15px; 
	}

	


</style>


<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());        
			}    
		}   
		alert(" left="+left+" right"+right+" result="+result); 
		alert(result.concat(left).concat(right));
		return result.concat(left).concat(right);
	}

	function mergeSort(items){
		if(items.length == 1){        
			return items;    
		}    
		var middle=Math.floor(items.length/2),    
		left=items.slice(0,middle),    
		right=items.slice(middle);
		alert(" middle="+middle+" items.length="+items.length+" left="+left+" right"+right+" items"+items); 
		return merge(mergeSort(left),mergeSort(right));
	}



</script>


</head>




<body>
	<div>归并排序</div>
</body>
</html>

 

JavaScript排序算法——并归排序

标签:

原文地址:http://www.cnblogs.com/tonglin0325/p/5179416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!