$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...