public static void main(String[] args) {
int[] arr = {1, 3, 5, 9, 18, 27, 36, 88, 96, 102};System.out.println("二分查找法的返回元素值是:"+getSearch(arr,96));
}public static int getSearch(int[] arr, int num) {int min = 0;
int max = arr.length - 1;
int mid = (max + min) / 2;
while (true) {
if (num > arr[mid]) {
min = mid + 1;
System.out.println("min运行了"+min);
} else if (num < arr[mid]) {
max = mid - 1;
System.out.println("max运行了"+max);} else {
System.out.println("mid运行了");
return mid;
}if(max < min) {
System.out.println("-1运行了");
return -1;
}
}
}
————————
输出结果死循环输出:min运行了5
int[] arr = {1, 3, 5, 9, 18, 27, 36, 88, 96, 102};System.out.println("二分查找法的返回元素值是:"+getSearch(arr,96));
}public static int getSearch(int[] arr, int num) {int min = 0;
int max = arr.length - 1;
int mid = (max + min) / 2;
while (true) {
if (num > arr[mid]) {
min = mid + 1;
System.out.println("min运行了"+min);
} else if (num < arr[mid]) {
max = mid - 1;
System.out.println("max运行了"+max);} else {
System.out.println("mid运行了");
return mid;
}if(max < min) {
System.out.println("-1运行了");
return -1;
}
}
}
————————
输出结果死循环输出:min运行了5
解决方案 »
- 关于在jscrollpane中添加jtable的问题
- 各位高手请帮忙看下这程序为什么不能通过
- java的Integer中 parseInt(String s, int radix) 方法如何使用!!!!
- 请教JComboBox的内容为 Icon + String 应该怎么做?
- 各位大牛,学完javase后应该再具体学哪方面的知识啊,求指导。
- LinkedList的一点疑惑
- 请问为什么我看Applet在IE显示只有一个灰色框呢? (散分)
- 加急问题??关于.properties!!在线等,
- 小弟我请教个问题
- JINI究竟是什么东东呀?去SUN看了半天也没能明白,谁能解释一下?
- JAVA Scanner与BufferedReader
- 我的控制台程序怎么老需要人工按一个按键才能触发。
忘记中间索引值重新定位了。mid=(max+min)/2