/**
* 折半查找
* 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 快速排序 折半查找的界面实现"项目旨在通过可视化的方式帮助学习者理解和掌握这两种经典的算法。通过实际的代码实现和交互式的界面,不仅能够锻炼编程技能,还能加深对算法本质的理解,对于提升编程...
包括常见的排序算法,以及折半查找,首先对要查找的数据排好序,然后用递归调用的方式实现折半查找(包括了两种实现方式)。指定一个排好序的数组和要查找的值,同时指定要查找的左边界和有边界。左右边界要位于数组...
Java折半法查找方法 折半法查找是一种常用的查找算法,适用于已排序的数组。该算法的基本思想是将数组分成两部分,然后通过比较目标值与中点值的大小来确定目标值所在的半区间,如此反复直到找到目标值或确定目标值...
折半查找 折半查找5.java 使用java代码实现 折半查找5.java 使用java代码实现 折半查找5.java 使用java代码实现折半查找5.java 使用java代码实现
Java数据结构实现折半查找的算法过程解析 折半查找是一种常用的查找算法,通过将查找范围不断地缩小来实现快速的查找。Java数据结构实现折半查找的算法过程解析中,主要介绍了折半查找的理论基础、实现方法和优化...
折半查找法基于java的折半查找算法.zip
### Java代码递归的折半查找算法 #### 算法概述 递归版本的折半查找算法是一种高效的搜索技术,适用于已排序的数组。它的工作原理是将问题分解为更小的问题,直到找到目标值或确定目标值不存在于数组中为止。这种...
JAVA 数据结构二分法查找代码。(实验)
折半查找是一种数据结构算法 非常有用 我们用C语言实现了查找 简单有效
折半查找法
java写的折半查找法,使用间的循环语句,但是逻辑可能不够简洁,希望互相学习!
折半查找 使用java实现
这是一个关于数组查找方式的练习,供大家学习交流~~
在提供的 `biSearch.java` 文件中,我们可以预期它包含了一个或多个实现折半查找算法的方法。方法可能有递归版本和非递归版本,也可能有额外的功能,如处理错误、打印日志或优化性能。具体实现需要查看代码内容才能...
在Java中,传统的折半查找通常针对特定类型的数组(如整数或字符串)编写,而泛型化折半查找则可以适应任何实现了Comparable接口的对象数组。下面我们将详细探讨这个主题: 1. **泛型基础**: - 泛型引入了类型...