java查找算法(三)--二分非递归查找
来源:互联网 发布:折扣怎么算法 编辑:程序博客网 时间:2024/04/26 23:00
//非递归算法:public static int binarySearch_NonRec (int []a , int left, int right, int d){ //left,right均为小标 while (left <right ){ // 利用 while循环改变查找的范围,通过改变 left 和right 大小 int mid =(left +right )/2; if( d== a[ mid]){ return mid ; } else if (d <a [mid ]){ right= mid-1; } else { left= mid+1; } } if( left== right&& d== a[ left]){ return left ; } return -1; }
当数组中有重复元素,要求返回元素第一次出现的位置:
//有重复元素数组,非递归算法,返回查找元素第一次出现的位置//left,right 均为小标,返回找到数值的位置(下标 +1 ) public static int getFirst( int []a , int d){ int firstId =d ; if ( firstId==-1) return -1; int temp =a [firstId ]; while ((firstId >0)&&( temp== a[ firstId-1])){ firstId--; } return firstId +1; } //left,right均为小标,返回找到数值的下标 public static int binarySearch_NonRec( int []a , int left, int right, int d){ // 同上 }
0 0
- java查找算法(三)--二分非递归查找
- Java 二分查找算法(递归和非递归)
- 二分查找(递归&非递归)java
- 二分查找(非递归JAVA)
- 二分查找(非递归JAVA)
- java非递归二分查找
- 二分查找算法 递归和非递归
- 二分查找递归与非递归算法
- 二分查找算法-递归-非递归实现
- 二分查找算法----递归&&非递归
- (一)算法--查找算法顺序查找和二分查找(递归和非递归方式)
- 二分查找(非递归)
- 二分查找(非递归)
- 二分查找算法递归和非递归实现(C++)
- 二分查找算法(递归和非递归)
- 二分查找算法(递归和非递归)
- 二分查找算法(递归和非递归)
- 二分查找算法(递归与非递归实现)
- iOS本地项目依赖项(CocoaPods管理本地库)--csdn
- 怎么解决tomcat占用8080端口问题图文教程
- 自定义闪烁的TextView
- Log4j在Java中的使用
- Windows下 git 使用
- java查找算法(三)--二分非递归查找
- linux中关于tmpfs文件系统资料的整理与分析
- c中字符数组的问题
- Spring AOP浅析
- iOS和我,开启编程人生
- Hadoop入门
- 解决SUSE Linux无法使用SSH登录的问题
- 广州虎鱼网络科技有限公司面试
- Apache Stratos探究:CLI Tool简单使用手册