博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分查找(递归和非递归实现)
阅读量:7120 次
发布时间:2019-06-28

本文共 1216 字,大约阅读时间需要 4 分钟。

当然前提是:有序数列,这里以升序为例!

public class binarySearch {    public static void main(String[] args) {            int arr[]={1,2,3,4,5,6,7,8,9};        int key=9;        //int result=binarySearchMethod_noDiGui(arr,key);//非递归实现        int result=binarySearchMethod_DiGui(arr,0,arr.length-1,key);//递归实现        System.out.println("结果:"+result);    }       public static int  binarySearchMethod_noDiGui(int arr[],int key){              int left =0;       int right=arr.length-1;       int mid=(left+right)>>1;              while(left<=right){          if(arr[mid]==key){              return mid;          }else if(arr[mid]>key){              right=mid-1;          }else{              left=mid+1;          }          mid=(left+right)>>1;       }        return -1;    }      public static int binarySearchMethod_DiGui(int arr[],int left,int right,int key){              int mid=(left+right)>>1;              if(left>right){           return -1;       }              if(arr[mid]==key){           return mid;       }else if(arr[mid]>key){           right=mid-1;           return binarySearchMethod_DiGui(arr,left,right,key);       }else{           left=mid+1;           return binarySearchMethod_DiGui(arr,left,right,key);       }   }}

 

转载地址:http://taiel.baihongyu.com/

你可能感兴趣的文章
cisco ***笔记
查看>>
执行php程序的时候,报错Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes)...
查看>>
春Phone计划 51cto沙龙上海站
查看>>
HDFS体系结构详解
查看>>
我的友情链接
查看>>
[转]我对CTO的理解
查看>>
RH413-Linux系统下umask测试
查看>>
MYSQLmy-innodb-heavy-4G.cnf配置文件注解
查看>>
HTML5 Audio/Video 标签,属性,方法,事件汇总
查看>>
Android 学习笔记【基础扫盲篇】
查看>>
shiro filter
查看>>
重新排列数字使其刚好比当前值大 Next Greater Element III
查看>>
tomcat虚拟子目录设置
查看>>
C++中sizeof详解
查看>>
elasticsearch集群部署
查看>>
我的友情链接
查看>>
Exchange 2010 OWA更改过期密码
查看>>
我的友情链接
查看>>
Programming in Scala (Second Edition) 读书笔记12 Trais
查看>>
国内首家VR虚拟现实主题公园即将在北京推出
查看>>