PHP实现的基本数据结构

//--------------------
//基本数据结构
//--------------------

//二分查找(数组里查找某个元素)
functionbin_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;
}


//顺序查找(数组里查找某个元素)
functionseq_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;
}
}

//线性表的删除(数组中实现)
functiondelete_array_element($array,$i)
{
$len=count($array);
for(
$j=$i;$j<$len;$j++){
$array[$j]=$array[$j+1];
}
array_pop($array);
return
$array;
}

//冒泡排序(数组排序)
functionbubble_sort($array)
{
$count=count($array);
if(
$count<=0)returnfalse;

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;
}

//快速排序(数组排序)
functionquicksort($array){
if(
count($array)<=1)return$array;

$key=$array[0];
$left_arr=array();
$right_arr=array();

for(
$i=1;$i<count($array);$i++){
if(
$array[$i]<=$key)
$left_arr[]=$array[$i];
else
$right_arr[]=$array[$i];
}

$left_arr=quicksort($left_arr);
$right_arr=quicksort($right_arr);

return
array_merge($left_arr,array($key),$right_arr);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值