二分查找

public static int erfen(int n, int start , int end) {		//n是寻找坐标的数,start是起始坐标,end是末尾
    while(start < end) {	
        int zj = (start + end) / 2;		//获取中间值
        if(arr[zj] == n) {				//如果中间的是结束
            return zj;
        }else if(arr[zj] > n) {			//中间的不是看是不是大于中间数
            end = zj;					//大于中间数就是说n在左边那么就将中间数作为末尾
        }else {							//不是大于也不是等于那么就是小于小于也就是说n在右边,中间值 - 1作为开始
            start = zj - 1;
            }
        }
        return -1;							//如果都不是的话那么返回-1

    }

您可能还喜欢...