java 中二分法查找的应用实例
作者:lfdfhl 时间:2021-10-18 08:43:33
java 中二分法查找的应用实例
二分查找的前提是:数组有序
注意:mid的动态变化,否则出错!!!
实例代码:
public class BiSearch {
public static void main(String[] args) {
new BiSearch().biFind(new int []{1,2,3,4,5,6,7},3);
}
public void biFind(int arr[],int y){
int start=0;
int end=arr.length-1;
int mid=(start+end)/2;
while(start<=end){
if(y==arr[mid]){
System.out.println("查找成功,其下标为"+mid);
break;
}
if(y>arr[mid]){
start=mid+1;
mid=(start+end)/2;
}
if(y<arr[mid]){
end=mid-1;
mid=(start+end)/2;
}
if(start>end){
System.out.println("查找失败");
}
}
}
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/lfdfhl/article/details/8195067
标签:java,二分法
0
投稿
猜你喜欢
flutter中使用流式布局示例详解
2023-08-24 23:49:06
Silverlight实现星星闪烁动画
2023-03-28 05:32:46
Java中Runnable与Callable接口的区别详解
2021-12-22 11:33:28
Java利用Selenium操作浏览器的示例详解
2022-06-17 17:34:20
Spring Boot如何使用Spring Security进行安全控制
2022-03-26 03:59:41
C#字体池技术实现代码详解
2022-12-30 06:18:02
Unity动画混合树实例详解
2022-06-17 14:41:27
Java通过底层原码了解数组拷贝
2021-10-07 12:47:47
Java设计模式之模板方法模式详解
2021-08-04 04:32:51
浅谈Android 指纹解锁技术
2023-06-04 18:59:06
Android指纹识别API初试
2023-01-15 20:16:11
Java StringUtils字符串分割转数组的实现
2023-07-19 12:43:37
Android 虚拟按键适配动态调整布局的方法
2022-03-03 07:20:24
详解 c# 克隆
2021-12-16 16:23:12
myBatis组件教程之缓存的实现与使用
2023-09-24 00:49:18
Flutter进阶之实现动画效果(六)
2023-09-15 15:13:50
浅谈java+内存分配及变量存储位置的区别
2022-07-09 00:46:47
mybatis如何实现saveOrUpdate
2021-07-18 10:33:11
C#实现在启动目录创建快捷方式的方法
2021-05-29 13:54:21
C#中Invoke的用法讲解
2023-10-26 03:24:36