数组的折半原理

2018-12-04  本文已影响0人  893705279802

必须是有序排列

折半公式:(min+max)/2

指针思想:

                折半的索引和查找元素比较

                元素>中间索引上的元素

                小指针=中间+1

                元素<中间索引上的元素

                大指针=中间-1

                小指针>大指针索引,结束

                没找到-1的索引

                元素==数组中间索引上的元素,结束

int index = binarySearch(arr,9);

public static int binarySearch(int [] arry, int key){

        int min=0;

        int max=arr.length-1;

        int mid =0;

while(min<=max){

    mind=(min+max)/2;

    if(key>arr[mid]){

        mid=mid+1;

                        } 

            else if(key<arr[mid]){

                mid=mid-1;

                }

        else{

               return mid;

            }

    }

}

return  -1;


上一篇下一篇

猜你喜欢

热点阅读