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
  • asp之家 软件编程 m.aspxhome.com