0004-二分法查找
2018-02-08 23:28
92 查看
* 二分查找的数组只能是从大到小排列的,或从小到大排列的
* 当max<min时就返回-1@Test
public void testName7() throws Exception {
//int[] arr={34,19,11,109,3,56};
int[] arr={13,24,36,41,66,78,109};
int index = halfSerarch(arr,109);
System.out.println(index);
}
public int halfSerarch(int[] arr,int key){
int max,min,mid;
min=0;
max=arr.length-1;
mid=(max+min)/2;
while(arr[mid]!=key){
if(key>arr[mid]){
min=mid+1;
}else if(key<arr[mid]){
max=mid-1;
}
if(max<min){
return -1;
}
mid=(max+min)/2;
}
return mid;
}
* 当max<min时就返回-1@Test
public void testName7() throws Exception {
//int[] arr={34,19,11,109,3,56};
int[] arr={13,24,36,41,66,78,109};
int index = halfSerarch(arr,109);
System.out.println(index);
}
public int halfSerarch(int[] arr,int key){
int max,min,mid;
min=0;
max=arr.length-1;
mid=(max+min)/2;
while(arr[mid]!=key){
if(key>arr[mid]){
min=mid+1;
}else if(key<arr[mid]){
max=mid-1;
}
if(max<min){
return -1;
}
mid=(max+min)/2;
}
return mid;
}
相关文章推荐
- 数组二分法查找数据
- 数组打印、复制、赋值替换、二分法查找、命令行参数及增强for循环
- 二分法查找
- Go实现二分法查找
- java 程序题 二分法查找二维数组(Dichotomy)
- 用二分法查找循环递增序列 | Python
- 二分法查找
- js冒泡排序及二分法查找
- java 二分法查找排序,插入排序,折半查找算法
- 查找算法:二分法查找
- 查找算法(顺序查找、二分法查找、二叉树查找、hash查找)
- 二分法查找的算法
- 实现二分法查找——java实现
- iOS 排序算法总结、二分法查找
- 二分法查找(折半查找)算法学习笔记
- 二分法查找(Java)
- 二分法查找
- Java冒泡排序与二分法查找的代码随笔
- java数组-顺序插入数据及二分法查找数据
- 排序算法之 二分法查找