PHP實現快速排序

2021-10-03 20:23:07 字數 538 閱讀 1596

一、先取乙個值,用於標準定位。

二、遍歷陣列,將大於值的放到右邊陣列,小於的放到左邊陣列

三、然後將每次的左右陣列和基值一起合併

function sort_haifeng($array)

//取最左邊的值

$key = $array[0];

$leftarr = array();

$rightarr = array();

for ($i=1; $i<$count; $i++) else

}//遞迴呼叫

$leftarr = sort_haifeng($leftarr);

$rightarr = sort_haifeng($rightarr);

//合併陣列

return array_merge($leftarr,array($key),$rightarr);

}$arr = array(1,2,5,8,9,100,3,88,50,22);

$arr = sort_haifeng($arr);

php實現快速排序

先獲取第乙個值為關鍵字,讓i指向第乙個,j指向最後乙個,先從最後乙個找比key小的,j指向它,將它放在i指向的地方,然後i再向前走,直到找到比key大的,放在j指向的地方,就這樣迴圈,直到i j的時候,關閉迴圈。arr array 1,2,3,5,2,3,9,8,3,2,7,4,9,8,0,4,58...

PHP實現快速排序

快速排序 在無序的陣列 data中,選擇任意乙個值作為對比值,定義i為頭部檢索索引,j為尾部檢索索引,演算法步驟 1 初始化對比值 value data 0 i 1,j count data 1 2 首先從尾部開始檢索,判斷 data j 是否小於 value,若不小於則 j 繼續檢索,直到找到比 ...

PHP 實現快速排序

首先了解快速排序的原理 1 先取乙個基值,用於每次的標準定位。2 遍歷陣列,將大於基值的放到右邊陣列,小於的放到左邊陣列 3 將每次的左右陣列和基值一起合併 實現 快速排序 function quick sort array 每次取最左邊的值 key array 0 leftarr array ri...