不言不语

您现在的位置是: 首页 >  PHP

PHP

php快速排序法

2022-06-02PHP
快速排序实现原理:采用分治的思想,先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。


<?php
function quickSort($arr){ 
//快速排序法,冒泡排序的一种改进。更快速高效。
	if(count($arr)<=1){
		return $arr;
	}
	//直接返回
	$key=$arr[0];
	//中间比较值
	$left_arr=array();
	$right_arr=array();

	for($i=1;$i<count($arr);$i++){
		if($arr[$i]<$key){
			$left_arr[]=$arr[$i];
			//小于比较值
		}else{
			$right_arr[]=$arr[$i];
		}
	}
	$left_arr=quickSort($left_arr);
	//递归左数组
	$right_arr=quickSort($right_arr);
	//递归右数组
	$arr=array_merge($left_arr,array($key),$right_arr);
	//组成排序后的数组并返回
	return $arr;
}

$arr=array(56,35,82,21,55,91,72,28,12,49,60); 
print_r(quicksort($arr));


文章评论