【问题标题】:Did I make a mistake with my first binary search? what is wrong in my codes? [duplicate]我在第一次二分搜索时犯了错误吗?我的代码有什么问题? [复制]
【发布时间】:2016-03-09 06:31:42
【问题描述】:
public static void main(String[] args){

}
public final static int NOT_FOUND = -1;
public int binarySearch (int[] number, int searchValue){

    int     low = 0,
            high = number.length - 1,
            mid = (low + high) / 2;
    while(low <= high && number[mid] != searchValue){
        if(number[mid] < searchValue){
            low = mid + 1;
        } else {
            high = mid -1;
        }
        mid = (low + high) / 2;
    }
    if(low > high){
        mid = NOT_FOUND;
    }
    return mid;       
}
}

我进行了二进制搜索,但没有运行。代码中有什么问题? 没有错误,但是当我运行它时,什么都没有。

【问题讨论】:

  • 发布您的 main() 方法的其余部分。
  • 大声笑,如果您不确定如何调用将在程序运行时执行的方法,我认为二进制搜索不会是开始学习的第一件事。
  • @Brian 我认为这是他主要方法的其余部分。
  • @GregorioMerazJr。同意,因此标记为“如何在 Java 中调用方法”

标签: java binary-search


【解决方案1】:

您没有在主目录中调用二进制搜索。

【讨论】:

  • 使用你创建的方法并传入你的数组 public static void main(String[] args){binarySearch(arrayOfNumbers, valueYou'reLookingFor);}
  • 但是怎么做呢?我没明白。我只是编程的初学者。
  • 像这样?public static void main(String[] args){ binarySearch(arrayOfNumbers, valueYou'reLookingFor); } 公共最终静态 int NOT_FOUND = -1; public int binarySearch (int[] number, int searchValue){
猜你喜欢
  • 2019-10-07
  • 2016-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
相关资源
最近更新 更多