二分法查找

    xiaoxiao2025-03-04  7

    二分查找: * a:前提条件:已排序的数组* b:确定low与high的值,计算中间点的索引 low=0,hight=n-1 mid=(low+high)/2 c:根据中间值索引对应的元素值,与要查找的数num进行比较 如果a[mid]==num,找到 如果a[mid]>num,在中间点的左边,修改high=mid-1 如果a[mid]< num,在中间点的右边,修改low=mid+1 public class Demo022 { public static void main(String[] args) { int[] a={1,2,3,4,5,6,9}; int high=a.length-1; int n=9;//定义要查找的数字 //也可用用Scanner输入 int mid=0; int low=0; boolean flag=false; while(low<=high){ mid=(low+high)/2; if(a[mid]==n){ flag=true; break; }else if(a[mid]>n){ high=mid-1; }else if(a[mid]<n){ low=mid+1; } } if(flag){ System.out.println("找到了"); System.out.println("下标是:"+mid); }else { System.out.println("查不出来"); } } }
    转载请注明原文地址: https://ju.6miu.com/read-1296851.html
    最新回复(0)