binarySearch()方法进行数组查询时遇到的问题
发表在Java图书答疑
2019-08-08
《Java从入门到精通(第4版)》第6章 数组 113页-114页
是否精华
是
否
版块置顶:
是
否
int arr[]=new int[]{4,25,10};
Arrays.sort(arr);
int index=Arrays.binarySearch(arr,8);
System.out.println(index);
为什么index的值是-2?我认为应该是-1,因为排序过后4,10,25,书上说插入点是搜索键要插入数组的那一点,即第一个大于此键的元素索引,这里第一个大于8的元素应该是10,10的索引为1,所以我认为是-1。(“-”插入点)
int arr[]=new int[]{4,25,10};
Arrays.sort(arr);
int index=Arrays.binarySearch(arr,30);
System.out.println(index);
为什么index的值是-4?我认为应该是-3,因为书上说数组中所有元素都小于指定的键,则为arr.length,这里的arr.length=3,所以index的值我认为是-3。
首页上一页 1 下一页尾页 7 条记录 1/1页