<?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教程有興趣的朋友有幫助。