首頁  >  文章  >  後端開發  >  快速排序Qsort

快速排序Qsort

WBOY
WBOY原創
2016-08-08 09:22:041211瀏覽
<?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教程有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn