java算法之二分查找
来源:互联网 发布:电脑手写笔软件 编辑:程序博客网 时间:2024/06/09 05:02
java代码实现
public static void main(String[] args) {
int[] arr1={2,11,15,19,30,32,61,72,88,90,96};int a=arr1.length-1;
int b=15;
System.out.println(erfen(arr1,a,b));
}
public static int erfen(int arr[],int n,int key){
int low=0; //数组的第一个下标
int high=n; //数组的最后一个下标
int mid; //中间值
while(low<=high){
mid=(low+high)/2; / /5
if(arr[mid]==key){ //判断32==15
return mid;
}
if(key<arr[mid]){ //15<32
high=mid-1; / /5-1
}else if(key>arr[mid]){
low=mid+1;
}
}
return -1;
}
递归实现
public static int digui(int[] arr,int low,int high,int key){
int mid=low+(high-low)/2;
if(low>high){
return -1;
}
else{
if(arr[mid]==key){
return mid;
}
else if(arr[mid]>key){
return digui(arr,low,mid-1,key);
}
else if(arr[mid]<key){
return digui(arr,mid+1,high,key);
}
}
return -1;
}
刚刚接触算法这块,上面有什么不对的麻烦指出,共同进步!!!
0 0
- java算法之二分查找
- Java-算法之二分查找
- java算法之二分查找
- Java算法之二分查找算法
- Java排序算法之二分查找
- 算法学习之java实现二分查找
- Java实现算法之--二分查找法
- java之二分查找算法实现
- Java数据结构与算法之二分查找
- Java数据结构与算法之【二分查找】
- Java算法实现之二分查找
- java算法总结之二分查找法
- 算法之二分查找
- 算法之二分查找
- 算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 【zabbix个性化监控之一】TCP连接数
- spark on mesos Coarse Mode 调度模式的改变
- 栈和队列 知识点
- iOS Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:]
- Json概述以及python对json的相关操作
- java算法之二分查找
- Lab 2:线程的休眠与唤醒
- __declspec(dllexport)和__declspec(dllimport)
- StringBuffer字符串缓冲器
- 编写第一个Hibernate例子思路
- 查看centos中的用户和用户组
- centos 搭建dz论坛
- phpexcel响应超时的解决方法
- JavaScript 兼容浏览器的部分问题的总结及解决方法