算法:二分法查找

时光毁灭记忆、已成空白 提交于 2019-11-29 05:10:40
package com.atguigu;public class Main {    public static void main(String[] args) {        //二分法查找        //前提:所查找的数组必须有序        int[] arr=new int[]{-98,-34,2,34,54,66,79,105,210,333};        int dest=-3;        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("很遗憾,没有找到");        }    }}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!