素材牛VIP會員
php面試必備5大算法
 tk***10  分類:PHP代碼  人氣:502  回帖:2  發布于6月前 收藏此帖(0)
//--------------------
// 基本數據結構算法
//--------------------
//二分查找(數組里查找某個元素)
function bin_sch($array,  $low, $high, $k){
if ( $low <= $high){
$mid =  intval(($low+$high)/2 );
if ($array[$mid] ==  $k){
return $mid;
}elseif ( $k < $array[$mid]){
return  bin_sch($array, $low,  $mid-1, $k);
}else{
return  bin_sch($array, $mid+ 1, $high, $k);
}
}
return -1;
}
//順序查找(數組里查找某個元素)
function  seq_sch($array, $n,  $k){
$array[$n] =  $k;
for($i=0;  $i<$n; $i++){
if( $array[$i]==$k){
break;
}
}
if ($i<$n){
return  $i;
}else{
return -1;
}
}
//線性表的刪除(數組中實現)
function delete_array_element($array , $i)
{
$len =  count($array);
for ($j= $i; $j<$len; $j ++){
$array[$j] = $array [$j+1];
}
array_pop ($array);
return $array ;
}
//冒泡排序(數組排序)
function bubble_sort( $array)
{
$count = count( $array);
if ($count <= 0 ) return false;
for($i=0 ; $i<$count; $i ++){
for($j=$count-1 ; $j>$i; $j--){
if ($array[$j] < $array [$j-1]){
$tmp = $array[$j];
$array[$j] = $array[ $j-1];
$array [$j-1] = $tmp;
}
}
}
return $array;
}
//快速排序(數組排序)
function quick_sort($array ) {
if (count($array) <= 1) return $array;
$key = $array [0];
$left_arr  = array();
$right_arr = array();
for ($i= 1; $i if ($array[ $i] <= $key)
$left_arr [] = $array[$i];
else
$right_arr[] = $array[$i ];
}
$left_arr = quick_sort($left_arr );
$right_arr = quick_sort( $right_arr);
return array_merge($left_arr , array($key), $right_arr);
}
 標簽:算法面試

討論這個帖子(2)垃圾回帖將一律封號處理……

Lv1 菜鳥
*** 職業無 4月前#1
沒碰到過
Lv1 菜鳥
風***揚 Web前端工程師 3月前#2
都是很實用的函數
 文明上網,理性發言!   ?? 阿里云幸運券,戳我領取
皮包修复赚钱吗