<?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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.