java 对分查找

 

/**

     *

     * 对分查找

     *

     * @author wangli

     * @param args

     */

    public static void main(String[] args) {

       int[] num = { 2, 5, 18, 19, 29, 43, 57, 61, 37, 85 };

       Scanner input = new Scanner(System.in);

       System.out.print("请输入要查询的数:");

       int flag = input.nextInt();

       int index1 = 1;                 // 开始位置

       int index2 = num.length - 1;    // 结束位置

       boolean con = false;            // 是否找到此数的标志

       int p = ((index1 + index2) / 2);

       do {

           if (flag == num[p]) {

              con = true;

              System.out.println("您要查找数的索引位置是:" + p);

           } else {

              if (flag > num[p]) {

                  index1 = p + 1;

              } else {

                  index2 = p - 1;

              }

           }

       } while (index2 < index1);

       if (!con) {

           System.out.print("此数组中没有您要查找的数!");

       }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值