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

归并排序

时间:2019-12-24 09:57:57      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:data   mergesort   int   归并排序   div   hunk   turn   chunk   ges   

$arr=array(19,7,5,1,3,10);
	$tmp = mergeSort($arr);
	print_r($tmp);
	function mergeSort($arr){
		$start = 0;
		$end = count($arr)-1;
		if($end == 0){
			return $arr;
		}
		$mid = floor(($start+$end)/2);
		$arrChunk = array_chunk($arr,$mid+1);
		$left = mergeSort($arrChunk[0]);
		$right = mergeSort($arrChunk[1]);
		$arr3 = sort_data($left,$right);
		return $arr3;
	}
	function sort_data($arr1,$arr2){
		$arr=array();
		$i=$j=0;
		$len1=count($arr1);
		$len2 = count($arr2);
		while($i < $len1 && $j < $len2){
			if($arr1[$i] < $arr2[$j]){
				array_push($arr,$arr1[$i]);
				$i++;
			}
			else{
				array_push($arr,$arr2[$j]);
				$j++;
			}
		}
		while($i < count($arr1)){
			array_push($arr,$arr1[$i]);
			$i++;
		}

		while($j < count($arr2)){
			array_push($arr,$arr2[$j]);
			$j++;
		}

		return $arr;
	}

  

归并排序

标签:data   mergesort   int   归并排序   div   hunk   turn   chunk   ges   

原文地址:https://www.cnblogs.com/zh718594493/p/12089219.html

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