数据结构与算法 :C/PHP 二分查找实现
码农天地 -c语言实现:
//c语言实现二分搜索
#include <stdio.h>
int binarySearch(int *p, int size, int target)
{
int left = 0;
int right = size - 1;
int mid = (left + right)/2;
while(left <= right){
mid = (left + right)/2;
if (p[mid] == target)
{
return mid;
}else{
if (p[mid] > target)
{
right = mid - 1;
}else{
left = left + 1;
}
}
}
return -1;
}
int main()
{
int nums[12] = {0,1,2,3,4,5,6,7,8,9,100,200};
int size = sizeof(nums) / sizeof(nums[0]);
int res = binarySearch(nums, size,100);
printf("res:%d\n",res);
return 0;
}
PHP实现://PHP二分搜索
//这里使用了PHP7的强类型语法
function index(array $nums, int $target): int
{
$left = 0;
$len = count($nums);
$right= $len - 1;
$ans = -1;
while ( $left <= $right) {
$mid = floor(($left + $right)/2);
if ($target == $nums[$mid]) {
return $mid;
}elseif ($target > $nums[$mid]) {
$left = $mid + 1;
}else{
$right = $mid - 1;
}
}
return $ans;
}
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。
php介绍
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
上一篇: php怎么删除数组中指定的值