123456789101112131415161718192021222324252627282930313233 |
- package com.sf;
- /**
- * 二分查找
- */
- public class BinFind {
- public static void main(String[] args) {
- //二分法查找:要求此数组必须是有序的。
- int[] arr3 = new int[]{-99,-54,-2,0,2,33,43,256,999};
- boolean isFlag = true;
- int value = 256;
- //int value = 25;
- int head = 0;//首索引位置
- int end = arr3.length - 1;//尾索引位置
- while(head <= end){
- int middle = (head + end) / 2;
- if(arr3[middle] == value){
- System.out.println("找到指定的元素,索引为:" + middle);
- isFlag = false;
- break;
- }else if(arr3[middle] > value){
- end = middle - 1;
- }else{//arr3[middle] < value
- head = middle + 1;
- }
- }
- if(isFlag){
- System.out.println("未找打指定的元素");
- }
- }
- }
|