快速排序Qsort

WBOY
發布: 2016-08-08 09:22:04
原創
1218 人瀏覽過
<?php
function Partition(&$arr,$low,$high)
{
	$_t=$arr[$low];
	while($low<$high)
	{
		//注意第二个限制条件,不然如果一直都是大于会超过数组下标
		while($arr[$high]>$_t&&$high>$low)  --$high;
		$arr[$low]=$arr[$high];
		while($arr[$low]<$_t&&$low<$high)  ++$low;
		$arr[$high]=$arr[$low];
	}
	$arr[$low]=$_t;
	return $low;
}
function Qsort(&$arr,$low,$high)
{
	if($low<$high)
	{
		$mid=Partition($arr,$low,$high);
		Qsort($arr,$low,$mid-1);
		Qsort($arr,$mid+1,$high);
	}
}
$a=array(9,8,7,10,11,4,3,2,1);
Qsort($a,0,8);
var_dump($a);
登入後複製

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。

以上就介紹了快速排序Qsort,包含了方面的內容,希望對PHP教程有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板