Java二分查找的使用

java中的二分查找

具体代码如下


import java.util.ArrayList;  
import java.util.List;  
  
public class binarySearch {  
public binarySearch(){  
    List<Integer> list=new ArrayList<Integer>();  
    for(int i=0;i<10000;i+=2){             //往list加入逐渐增大1-10000的所有偶数,作为实验数组,很明显,他是有序的!  
        list.add(i);                       //这里当然也可用数组  
    }  
    int low=0;  
    int high=list.size();  
    int key=3334;  
    while(low<=high){  
        int mid=(low+high)/2;  
        if(key==list.get(mid)){  
            System.out.println("此数值在list中的位置为:"+mid);  
            break;  
        }  
    if(key>list.get(mid)){  
        low=mid+1;          //当小于时,是low指针向后移动,high指针不变  
    }  
    if(key<list.get(mid)){  
        high=mid-1;        //当大于时,是high指针向前移动,low指针不变  
    }  
      
    }  
    if(low>high){  
    System.out.println("没有查到结果!");  
    }  
}  
}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值