import java.util.*;
public class BinarySearch {
public int getPos(int[] A, int n, int val) {
int position=-1; //返回的数组的位置
int low=0,high=n-1,mid=n/2;
if(n<=0||A==null){// 数组为空或者为null
position=-1;
}else{// 数组有元素
while(low<=high){
if(val>A[mid]){
low=mid+1;
mid=(low+high)/2;
}else if(val<A[mid]){
high=mid-1;
mid=(low+high)/2;
}else{
position=mid;
break ; //跳出循环
}
}
}
// 判断position
if(position==-1)
return position;
else{
while(position>=0&&A[position]==val){
position--;
}
return position+1;
}
}
}
Java实现一个二分查找
最新推荐文章于 2025-09-11 23:13:01 发布
本文介绍了一个使用Java实现的二分搜索算法示例。该算法适用于有序数组,并能够找到指定值的位置。如果找到该值,则返回其在数组中的位置;如果没有找到,则返回-1。此外,还提供了一个额外的功能,即当找到匹配项时,会继续向前查找以确保返回的是该值的第一个出现位置。
4680

被折叠的 条评论
为什么被折叠?



