二分法查找在实际有什么使用意义?例如项目中用到?
package foe;
public class test2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]={1,2,3,4};
find2 f2=new find2();
f2.find(0, a.length-1,0, a);}}
class find2{
public void find(int min,int max,int vaule,int a[]){
if(vaule>a[max]||vaule<a[min]){
System.out.println("没有这个数"); }
else{
int mid=(min+max)/2;
if(a[mid]>vaule){ find(min,mid-1,vaule,a); }
if(a[mid]<vaule){ find(mid+1,max,vaule,a); }
if(a[mid]==vaule){ System.out.println("有这个数,下标为"+mid+"第"+(mid+1)+"个数。"); } } }
} |
|