/**
* 折半查找
* author: zcl
*/
public class BinarySearch {
public static int search(int[] arrays, int target) {
int start = 0;
int end = arrays.length - 1;
int pos;
while (start <= end) {
pos = (start + end) / 2;
if (arrays[pos] == target) {
return pos;
} else if (arrays[pos] > target) {//如果数组中间的数大于目标,则将end的位置变成数组中间位置-1的位置
end = pos - 1;
} else {
start = pos + 1;//如果数组中间的数小于目标,则将start的位置变成数组中间位置+1的位置
}
}
return -1; //若没有查找到,则返回-1
}
public static void main(String[] args) {
int[] arrays = {2,3,28,39,59,288,322,324,2323};
System.out.println(search(arrays, 28));
System.out.println(search(arrays, 322));
System.out.println(search(arrays, 59));
System.out.println(search(arrays, 288));
}
}
分享到:
相关推荐
java 快速排序 折半查找的界面实现 (递归与分治法)
所谓的二分查找,指的是将待查的数据序列而分化,然后对比中间中间值和要查找值,判断结果,相等则找到,小于则在左边的子序列找,大于则在右边的子序列找
java 快速排序 折半查找 的界面实现(并附有递归分治法PPT)
包括常见的排序算法,以及折半查找,首先对要查找的数据排好序,然后用递归调用的方式实现折半查找(包括了两种实现方式)。指定一个排好序的数组和要查找的值,同时指定要查找的左边界和有边界。左右边界要位于数组...
JAVA 数据结构二分法查找代码。(实验)
折半查找 折半查找5.java 使用java代码实现 折半查找5.java 使用java代码实现 折半查找5.java 使用java代码实现折半查找5.java 使用java代码实现
折半查找是一种数据结构算法 非常有用 我们用C语言实现了查找 简单有效
在数组中用java折半法查找指定的数字,提供了2个方法,一个是递归另一个不是递归方法,好东西大家分享。。。
java写的折半查找法,使用间的循环语句,但是逻辑可能不够简洁,希望互相学习!
折半查找 使用java实现
递归调用的折半查找java代码,算法分析与设计实验报告。
主要介绍了Java数据结构实现折半查找的算法过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
这是一个关于数组查找方式的练习,供大家学习交流~~
public int searchNumber(double num, boolean updown) {// 折半查找算法 int left = 0, right = Array.length - 1, middle = -1; while (left ) { middle = (left + right) / 2; if (num == Array[middle]) ...
产生2000个随机数,从小到大冒泡排序,折半查找,确定下标对应内容。
用分治法思想实现二分查找,Java语言描述。
折半查找
java 折半查找法(二分查找)实例,需要的朋友可以参考一下
NULL 博文链接:https://128kj.iteye.com/blog/1744446
JDBC连数据库的JAVA程序,以及冒泡排序,折半查找.rar