Java算法-二分查找
简介
二分查找又叫折半查找,要求待查找的序列有序。
原理
每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。
代码
* @Param int[] array,int a
* @return int(如果找到返回数组对应下标,找不到返回-1)
* @DateTime 2022/3/19 22:39
* @Description: 二分查找算法
* 又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置
* 的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,
* 则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。
**/
public int binarySearch(int[] array,int a){
int left=0;
int right=array.length-1;
int mid;
while(left<=right){
mid=(left+right)/2;//中间位置
if(array[mid]==a){
return mid;
}else if(array[mid]<a){ //向右查找
left=mid+1;
}else{ //向左查找
right=mid-1;
}
}
return -1;//找不到
}
阅读剩余
版权声明:
作者:涛哥
链接:https://ltbk.net/back/java/algorithm/article/600.html
文章版权归作者所有,未经允许请勿转载。
作者:涛哥
链接:https://ltbk.net/back/java/algorithm/article/600.html
文章版权归作者所有,未经允许请勿转载。
THE END