PHP 常見演算法

2021-08-22 04:38:07 字數 1624 閱讀 2744

$arr=array(1,43,54,62,21,66,32,78,36,76,39);  

/** * [getpao 就是像冒泡一樣,每次從陣列當中 冒乙個最大的數出來]

*@param [type] $arr [陣列]

*@return [type] [description]

*/function

getpao

($arr)

}

} return

$arr;

}//冒泡優化

//交換方法

function

swap

(array &$arr,$a,$b)

/氣泡排序的優化(如果某一次迴圈的時候沒有發生元素的交換,則整個陣列已經是有序的了)

function

bubblesort1

(array &$arr)}}

}

/**

* [getquick 先使用乙個固定的值,然後和陣列中其他的數值進行對比,比當前小的陣列放到乙個陣列中,比當前大的陣列分當道另乙個陣列中,這兩個陣列重複前面的方法在進行排序,排好序的兩個陣列進行合併]

*@param [type] $arr [description]

*@return [type] [description]

*/function

getquick

($arr)

$num = $arr[0];

$big = array();

$small = array();

foreach($arr

as$v)

$big = getquick($big);

$small = getquick($small);

return array_merge($big, array($num), $small);

}

$arr1 = array(1,2,3,4,5,6,7,8,9,12,23,33,35,56,67,89,99); 

/** * [getcheck 假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功;否則利用中間位置記錄將表分成前、後兩個子表,如果中間位置記錄的關鍵字大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表。重複以上過程,直到找到滿足條件的記錄,使查詢成功,或直到子表不存在為止,此時查詢不成功。]

*@param [type] $arr1 [陣列]

*@param [type] $k [要查詢的]

*@return [type] [description]

*///遞迴

function

bin_sch

($array, $low, $high, $k)elseif ($k

< $array[$mid])else

} return -1;

} //非遞迴

function

getcheck

($arr1,$num)elseif($num

< $arr1[$middle])else

}}

PHP常見演算法

演算法題 1.使用php描述氣泡排序和快速排序演算法,物件可以是乙個陣列 氣泡排序 陣列排序 function bubble sort array return array 快速排序 陣列排序 function quick sort array left arr quick sort left ar...

php常見演算法

基本思想 對需要排序的陣列從後往前 逆序 進行多遍的掃瞄,當發現相鄰的兩個數值的次序與排序要求的規則不一致時,就將這兩個數值進行交換。這樣比較小 大 的數值就將逐漸從後面向前面移動。function mysort arr if issort return arr arr array 3,1,2 va...

PHP五種常見演算法

氣泡排序 created by phpstorm.user maguanya date 2018 1 9 time 下午1 38 氣泡排序 function bubble arr len count arr if len 1 for i 1 i len i return arr 先定義乙個陣列 ar...