php 排序,二分查詢

2021-06-22 22:21:20 字數 998 閱讀 6047

$arr = array( 4, 3, 0, 9, 2, 98, 1, -6, 34);

$arr = quicksort($arr);

binnerysearch($arr, 90, 0, count($arr) - 1);

function bubblesort($arr)

for ($i = 0; $i < $count; $i++) }

}return $arr; }

function quicksort($arr)

$key = $arr[0]; //將陣列的第乙個值作為比較標準。

$leftarr = array(); //比$key小的值會放到這個陣列中。

$rightarr = array(); //比$key大的值會發到這個陣列中。

for ($i = 1; $i < count($arr); $i++) //遍歷陣列中的值,與$key比較,將小於$key的值放到$leftarr陣列中。

else }

$leftarr = quicksort($leftarr); //遞迴呼叫自己,知道陣列剩下最後乙個值並返回。

$rightarr = quicksort($rightarr); //遞迴呼叫自己,知道陣列剩下最後乙個值並返回。

return array_merge($leftarr, array($key), $rightarr); //將排序好的陣列合併並返回。 }

function binnerysearch($arr, $findval, $leftindex, $rightindex)

$middleindex = round(($rightindex + $leftindex) / 2);

if ($findval == $arr[$middleindex]) else

if ($findval > $arr[$middleindex]) else

if ($findval < $arr[$middleindex]) else }

php 氣泡排序 快速排序 二分查詢

氣泡排序 class getnum return arr 快速排序 一般以第乙個元素為準 大於這個元素放左邊 小於這個元素放右邊 class quicknum b arr 0 for i 1 igetquicknum arr left arr right this getquicknum arr r...

php 二分查詢

二分查詢 查詢乙個值在陣列中的位置 arr 操作的陣列,前提是按順序排列 val 查詢的值 start 查詢的起始位置,預設從陣列的第乙個數找起 end 查詢的結束位置 function binarysearch arr,val,end,start 0 elseif arr mid val else...

php二分查詢

target要查詢的值 左 右指示符 left,right用來維持查詢空間的指標 中間指示符 mid 用來應用條件來確定我們應該向左查詢還是向右查詢的索引 from leetcode function binsearch arr,target elseif arr mid target elseif...