Java 二进制搜索函数错误
打印结果如下:10,-1,0。Java 二进制搜索函数错误,java,Java,打印结果如下:10,-1,0。 我不明白为什么binarySearch(arr,10)给了我-1,而实际上10在数组中,正如您可以从文档中看到的: java.util.Arrays.binarySearch(int[]a,int key)方法使用二进制搜索算法搜索指定的int数组中的指定值。在进行此调用之前,必须对数组进行排序。如果未排序,则结果未定义 因此,您必须在订购阵列之前 相反,如果使用“未排序”,则结果是未定义的 根据二进制搜索规范 import java.lang.*; import
我不明白为什么
binarySearch(arr,10)
给了我-1
,而实际上10
在数组中,正如您可以从文档中看到的:
java.util.Arrays.binarySearch(int[]a,int key)方法使用二进制搜索算法搜索指定的int数组中的指定值。在进行此调用之前,必须对数组进行排序。如果未排序,则结果未定义
因此,您必须在订购阵列之前
相反,如果使用“未排序”,则结果是未定义的
根据二进制搜索规范
import java.lang.*;
import java.util.*;
public class AnotherArrayPractice{
public static void main (String[] args){
int [] arr={130,10};
System.out.println(arr[1]);
System.out.println(Arrays.binarySearch(arr,10));
System.out.println(Arrays.binarySearch(arr,130));
}
}