程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php快速排序

php快速排序

編輯:PHP綜合
<?php
//快速排序
$arr=array();
$arr=array(52,44,23,16,72,47,189);
function qsort($arr){
$length=count($arr);//得到數組的長度
if(!is_array($arr)||empty($arr)){ //先判斷是否需要繼續進行
return array();
}
if($length<=1){ //避免無限遞歸
return $arr;
}
$key=$arr[0];//選擇一個標尺,比它大的放到右邊,比它小的存放到左邊
$left_array=array();
$right_array=array();
for($i=1;$i<$length;$i++){
if($arr[$i]<$key){
$left_array[]=$arr[$i];//小於標尺的
}else{
$right_array[]=$arr[$i];//大於標尺的
}
}
$left_array = qsort($left_array);
$right_array = qsort($right_array);
return array_merge($left_array,array($key),$right_array);
}
print_r(qsort($arr));
//Array ( [0] => 16 [1] => 23 [2] => 44 [3] => 47 [4] => 52 [5] => 72 [6] => 189 )
?>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved