Maison >développement back-end >tutoriel php > php实现快速排序的有关问题
php实现快速排序的问题?
<br /> function quick(&$arr,$low,$high){<br /> <br /> $key = $low;<br /> <br /> for($i=$low,$j=$high;$i!=$j;){<br /> <br /> for(;$j>$key;){<br /> <br /> if($arr[$j]<$arr[$key]){<br /> <br /> list($arr[$j],$arr[$key])=swap($arr[$j],$arr[$key]); <br /> $key = $j;<br /> break;<br /> <br /> }else{<br /> <br /> $j--;<br /> <br /> }<br /> <br /> }<br /> <br /> for(;$i<$key;){<br /> <br /> if($arr[$i]>$arr[$key]){<br /> <br /> list($arr[$i],$arr[$key])=swap($arr[$i],$arr[$key]); <br /> $key = $i;<br /> break;<br /> <br /> }else{<br /> <br /> $i++;<br /> <br /> }<br /> <br /> }<br /> }<br /> <br /> if($high>$low){ <br /> <br /> quick($arr,$low,$key-1); <br /> quick($arr,$key+1,$high);<br /> <br /> }<br /> <br /> }<br /> <br /> $arr = array(7,4,9,1,3,2,6,8,0);<br /> quick($arr,0,8);<br /> print_r($arr);<br />