简单描述一下二分查找和顺序查找

<?php


class search

{

// 查找的源数组

private $array = array(1,2,3,5,7,6,4,8);

/**

* 顺序查找法

* @param $val 要查找的值

*/

public function query_search($val)

{

foreach ($this->array as $k => $v)

{

if($v == $val)

{

echo '顺序查找成功!';

exit(0);

}

}

echo '顺序查找失败!';

}

/**

* 二分查找法

* @param $val 要查找的值

*/

public function bin_search($val)

{

sort($this->array);

$min = 0;

$max = count($this->array);

for ($i = $min; $i < $max; $i++)

{

$mid = ceil(($min + $max) / 2);

if($val == $this->array[$mid])

{

echo '二分查找成功!';

exit(0);

}

else if($val < $this->array[$mid])

{

$max = $mid;

}

else if($val > $this->array[$mid])

{

$min = $mid;

}

}

echo '二分查找失败!';

}

}



转载于:https://my.oschina.net/liuke1556/blog/212939

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值