不用多说了,有点必须提下,查找前数组必须排序
public class BinarySearch {
public BinarySearch() {
}
public static int binarySearch(int[] datas, int key) {
int index = -1;
int low = 0;
int high = datas.length - 1;
while (low <= high) {
int middle = (low + high) >> 1;
if (key == datas[middle]) {
index = middle;
break;
} else if (key > datas[middle]) {
low = middle + 1;
} else if (key < datas[middle]) {
high = middle - 1;
}
}
return index;
}
public static void main(String[] args) {
int[] datas = { 1, 2, 3, 4, 5, 6 };
int index = BinarySearch.binarySearch(datas, 6);
System.out.println(index);
}
}
分享到:
相关推荐
C语言实现的二分法快速查找|二分法排序|二分法查找C#
二分法查找 *进行二分法查找的前提是数组已有序 *查找范围的上下界
——二分法查找 目录 课程导入 1 清楚并牢记二分法的实现条件 2 理解二分法的实现思路 3 读懂二分法的实现代码 数组的查找——二分法查找 也称拆半查找法,是一种高效的查找方法,前提条件是数组元素必须已经按升序...
二分法查找法
c 二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法查找二分法...
使用二分法查找的MATLAB程序编写,方便刚接触MATLAB的同学分享学习。
题目要求演示二分法查找过程,用箭头跟踪指示出二分查找过程中的查找位置。设计思想为用两个数组实现,一个用于存数据另一个用来存箭头。只要存箭头的下标于每次查找的数的下标相等就可以实现,难点在于如何把数得...
写出二分法查找算法函数实现。
二分法查找,文章:https://blog.csdn.net/yysyangyangyangshan/article/details/83834022
二分法查找是一种常用的查找算法,也称为折半查找。它适用于有序数组中查找某个元素的位置。二分法查找的思路是将数组分成两部分,每次查找都将待查找区间缩小一半,直到找到目标元素或者待查找区间为空为止。 ...
二分法查找和顺序查找 排序后二分法
初始化一个已排序的整型数组,用二分法查找其中是否存在常量5,如有,打印其下标。
给定的表中用二分法查找指定数 给定的表中用二分法查找指定数 给定的表中用二分法查找指定数
设计函数能够用二分法查找元素对应下标,同时可以检测出用户是否输入有误,鲁棒性较好。
易语言源码有序二分法查找易语言源码.rar 易语言源码有序二分法查找易语言源码.rar 易语言源码有序二分法查找易语言源码.rar 易语言源码有序二分法查找易语言源码.rar 易语言源码有序二分法查找易语言源码.rar ...
易语言有序二分法查找源码,有序二分法查找,算法_二分法
c++二分法查找,先进行冒泡排序后查找 int main() { int num[100]; int ncount; while (1) { cout输入数据元素个数(输入非正数即退出程序):"; cin>>ncount; if(ncount) exit(1); Input(num,ncount); //...
适合有点基础的人使用,于软件水平考试,计算机等级考试等复习使用