素材牛VIP会员
php面试必备5大算法
 tk***10  分类:PHP代码  人气:1532  回帖:5  发布于4年前 收藏
//--------------------
// 基本数据结构算法
//--------------------
//二分查找(数组里查找某个元素)
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);
}
 标签:算法面试

讨论这个帖子(5)垃圾回帖将一律封号处理……

Lv1 新人
*** 职业无 4年前#1
没碰到过
Lv1 新人
风***扬 Web前端工程师 4年前#2
都是很实用的函数
Lv1 新人
qq***40 职业无 4年前#3
很实用的函数
Lv1 新人
qq***54 Web前端工程师 4年前#4
厉害
Lv1 新人
te***tt 职业无 3年前#5
可以可以
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取