二分查找算法,分别用C语言,C++,java,python编写出来

也称折半查找算法、对数查找算法,是一种在有序数组中查找某一特定元素的搜索算法。

 

搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。

 

如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。

二分查找算法,分别用C语言,C++,java,python编写出来
下面是二分查找算法的不同语言实现示例:
1. C语言:

#include <stdio.h>
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = left + (right – left) / 2;
if (arr[mid] == target)
return mid;
if (arr[mid] < target)
left = mid + 1;
else
right = mid – 1;
}
return -1;
}

SVIP价 5 折 永久SVIP免费

已有0人支付

2. C++:

#include <iostream>
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = left + (right – left) / 2;
if (arr[mid] == target)
return mid;
if (arr[mid] < target)
left = mid + 1;
else
right = mid – 1;
}
return -1;
}

SVIP价 5 折 永久SVIP免费

已有0人支付

3. Java:

public class BinarySearch {
public static int binarySearch(int[] arr, int left, int right, int target) {
while (left <= right) {
int mid = left + (right – left) / 2;
if (arr[mid] == target)
return mid;
if (arr[mid] < target)
left = mid + 1;
else
right = mid – 1;
}
return -1;
}

}

SVIP价 5 折 永久SVIP免费

已有0人支付

4. Python:

def binarySearch(arr, left, right, target):
while left <= right:
mid = left + (right – left) // 2
if arr[mid] == target:
return mid
if arr[mid] < target:
left = mid + 1
else:
right = mid – 1
return -1

SVIP价 5 折 永久SVIP免费

已有0人支付

这些示例展示了使用不同编程语言实现二分查找算法的方式。请根据您选择的编程语言,使用相应的示例来实现二分查找算法。


扫码关注微信公众号,免费查看完整算法内容。

下载说明:
1.本站资源都是白菜价出售,同样的东西,我们不卖几百,也不卖几十,甚至才卖几块钱,一个永久会员能下载全站100%源码了,所以单独购买也好,会员也好均不提供相关技术服务。
2.如果源码下载地址失效请联系站长QQ进行补发。
3.本站所有资源仅用于学习及研究使用,请必须在24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您权益请联系本站删除!
4.本站站内提供的所有可下载资源(软件等等)本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发);但本网站不能保证资源的准确性、安全性和完整性,由于源码具有复制性,一经售出,概不退换。用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug;同时本站用户必须明白,【安安资源网】对提供下载的软件等不拥有任何权利(本站原创和特约原创作者除外),其版权归该资源的合法拥有者所有。
5.请您认真阅读上述内容,购买即以为着您同意上述内容,由于源码具有复制性,一经售出,概不退换。
安安资源网 » 二分查找算法,分别用C语言,C++,java,python编写出来