二分查找总结

Posted 我的TURF

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找总结相关的知识,希望对你有一定的参考价值。

package Test5;

import org.junit.Test;

public class zheBan {

//①要求数组必须是有序的 ②采用递归思想

//如果出现错序,可能会报数组越界或陷入死循环
public static void main(String[] args) {
int a[]={3,9,15,20,21,32,45,49,50,59,60,78};

int c=0;
int d=a.length-1;
zheBan.chaZhao(a,21,c,d);
}
//a是要查找数所在的数组,21是要查找的数,c是数组左边的下标,d是数组右边的下标
public static void chaZhao(int a[],int b,int c,int d){
int m=(c+d)/2;
if(b==a[m]){
System.out.print("要查找的数"+b+"在数组中的下标是"+m);
}else if(b<a[m]){//如果要找的数比数组中间的数小,则在数组左边找,修改右边下标
chaZhao(a,b,c,m-1);
}else if(b>a[m]){//如果要找的数比数组中间的数大,则在数组右边找,修改左边下标
chaZhao(a,b,m+1,d);
}

}
}

以上是关于二分查找总结的主要内容,如果未能解决你的问题,请参考以下文章

二分查找无废话版总结

二分查找专题总结 - 基础篇

[算法总结]二分查找-binarySearch

查找算法总结(二分查找/二叉查找树/红黑树/散列表)

二分查找以及变种的总结

二分查找总结