首页 话题 小组 问答 好文 用户 我的社区 域名交易

php快速排序法

发布于 2025-03-18 11:49:59
0
6

快速排序实现原理:采用分治的思想,先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。php function quickSort($arr){ //快速排序法...

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

<?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)); 
评论
站长交流