1. 程式人生 > >java實現二分查詢

java實現二分查詢

1.二分查詢有個前提,就是陣列必須是有序的,而且是從小到大排序

2.先定義一個有序陣列:

int[] nums={1,3,4,5,6,8,9,11}

3. 下面就是來看二分查詢原理

設定三個下標:

左下標 left=0;

右邊下標right=nums.length-1

中間下標 mid=0;

如上圖,我們解讀依稀查詢過程

下面是具體程式碼:

int x=5;   //x為要查詢的數

while(left<=right){
    mid=(right-left)/2+left;      //這樣寫可以避免資料溢位
    if(nums[mid]>x){
        right=mid-1;
    }else if(nums[mid]<x){
        left=mid+1;
    }else{
        System.out.println("找到了");
        break;
    }

}

if(left>right){
    System.out.println("找不到");
}