package Array;
public class binarySearch{
public int []answer(int array[],int target) {
int index = -1;
//记录开始、中间、结束位置
int begin = 0;
int end = array.length-1;
int mid = (begin+end)/2;
//循环查找
while (true) {
if (array[array.length-1]==target) {
index = array.length-1;
System.out.print("找到了,在下标"+index);
break;
}
else if (array[mid]==target) {
index = mid;
System.out.print("找到了,在下标"+index);
break;
}
else if (array[mid]<target) {
begin = mid;
mid = (begin+end)/2;
}
else if (mid==begin) {
System.out.print("没有找到");
break;
}
else {
end = mid;
mid = (begin+end)/2;
}
}
return null;
}
public static void main(String[] args) {
binarySearch k = new binarySearch();
//目标数组
int array[]=new int[] {1,2,5,6,7,8,9};
//目标元素
int target = 0;
k.answer(array, target);
}
}
java二分查找算法学习笔记
最新推荐文章于 2023-12-25 22:38:53 发布