JAVA 二分搜尋法

來源:互聯網
上載者:User

標籤:main   ring   實現   遍曆數組   二分搜尋   str   sys   相關   資料   

二分尋找法就是對一個從小到大排好序的數組中尋找一個數val,先用待找的數val和中間值比較,如果比中間值大,那麼在中間值右邊尋找;如果比中間值小,那麼在中間值左邊尋找。一直遞迴下去。知道找到val。如果沒找到,則輸出在序列裡面沒有相關的資料。

public class Test2 {        public static void main(String[] args) {                       int[] arr ={1, 5, 9 ,56, 78, 80, 85, 99};//注意這裡需要數組按從小到大排好序。                                   binaryFind(0, arr.length-1, 85, arr);        }         /**         * @author          * @param left 數組左下標         * @param right 數組又下標         * @param arr  數組引用         * @param val 待找的數         * @功能:實現在一堆數中找是否有val數,調用這個二分尋找法前提是這個序列arr是有序的         */        public static void binaryFind(int left, int right, int val,int [] arr)        {                        if(left <= right)//二分尋找其實就是遍曆數組,一定要使得左邊下標不大於右邊下標            {                               int pivot =arr[(left+right)/2]; //找到中間數                                if(val < pivot)//如果要找的數比中間值小,在中間值左邊尋找                {                    binaryFind( left, (left + right)/2-1, val, arr);                }else if(val > pivot) //如果要找的數比中間值大,在中間值右邊尋找                                   {                    binaryFind( (left + right)/2 +1, right, val, arr);                }else if(val == pivot)                {                    System.out.println("在數組序列中找到了"+val+"這個數,它的下標是:"+( (left+right)/2 ) );                }            }            else            {                System.out.println("很遺憾你所找的數在數組序列中沒有");            }        }    }

 

JAVA 二分搜尋法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.