Java实现二分查找的基本思想及代码
二分查找的基本思想:
二分查找要求线性表必须采用顺序存储结构。
首先,假设表中元素是按升序排列,将表中间位置记录的关键字(midvalue)与查找关键字(value)比较,
如果midvalue=value,则查找成功;
否则利用midvalue将表分成前、后两个子表,如果midvalue>value,则进一步查找前一子表,否则进一步查找后一子表。
重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。
下边是效果和代码:
package com.java2;
public class Fun {
public static void main(String[] args) {
int arr[]={1,2,3,4,5,6,7,8,9};
Fun(0,arr.length,9,arr);
}
public static void Fun(int left,int right,int value,int arr[]){
int mid=(left+right)/2;
int midvalue=arr[mid];
if(right>left){
if(value>midvalue){
Fun(mid+1,right , value,arr);
}
else if(value<midvalue){
Fun(left,mid-1,value,arr);
}
else if(value==midvalue){
System.out.println(mid);
}
}
}
}