public static void main(String[] args) {
// 二分法查找
// 前提:所查找的数组必须有序
int[] arr = new int[]{-98,-34,2,34,54,66,79,105,210,333};
int dest = 34;
int head = 0;//初始的首索引
int end = arr.length-1;//初始的末索引
boolean isFlag = true;
while (head <= end) {
int middle = (head + end)/2;
if (dest == arr[middle]) {
System.out.println("找到了指定元素,位置为" +middle);
isFlag = false;
break;
}else if (arr[middle]>dest) {
end = middle-1;
}else {
head = middle +1;
}
}
if(isFlag) {
System.out.println("没有找到");
}
}
JAVA基础二分法查找
最新推荐文章于 2024-07-10 21:37:49 发布