Java 使用bSearch对从文件中读入的INT进行排序

Java 使用bSearch对从文件中读入的INT进行排序,java,bsearch,Java,Bsearch,我想不出应该用什么来代替最后一行中的“mid”,有人能帮忙吗 static int bSearch(int[] a, int count, int key) { /* Y O U R C O D E H E R E */ int hi = count; int lo = 0; int mid = (lo + hi) / 2; while(lo <= hi) { mid = (hi + lo) / 2;

我想不出应该用什么来代替最后一行中的“mid”,有人能帮忙吗

static int bSearch(int[] a, int count, int key)
{
    /* Y O U R  C O D E  H E R E */

    int hi = count;
    int lo = 0;
    int mid = (lo + hi) / 2;

    while(lo <= hi)
    {
        mid = (hi + lo) / 2;

        if(key < a[mid])
            hi = mid - 1;
        else if(key > a[mid])
            lo = mid + 1;
        else
            return mid;
    }

    return -(mid+1);
}
静态int-b搜索(int[]a,int-count,int-key)
{
/*你有空吗*/
int hi=计数;
int-lo=0;
int mid=(低+高)/2;
而(低a[中])
lo=中间+1;
其他的
中途返回;
}
返回-(mid+1);
}

看看我的解决方案,它应该可以解决您的问题。为什么您不能直接返回-1来表示错误?这里需要某种编码/解码,返回-1根本不会对正在读取的数字进行排序。