首页 > 编程语言 > 详细

算法 二分查找

时间:2015-06-09 19:19:42      阅读:148      评论:0      收藏:0      [点我收藏+]
package com.cn.find;

public class BinaryFind {
    /*
     * 项目名称:二分查找 ;
     * 项目要求:用JAVA对数组进行查找,并运用快速查找算法;
     * 作者:Sevck;
     */
    public void find(int leftIndex, int rightIndex, int val, int arr[]) {
        // 首先找到中间的数
        int midIndex = (leftIndex + rightIndex) / 2;
        int midval = arr[midIndex];
        // 如果要找的数比midval大
        if (rightIndex >= leftIndex) {
            if (midval > val) {
                // 在arr左边数中找
                find(leftIndex, midIndex - 1, val, arr);
            } else if (midval < val) {
                // 在arr右边数中找
                find(midIndex + 1, rightIndex, val, arr);
            } else if (midval == val) {
                System.out.println("找到下标:" + midIndex);
            }
        }
    }

    public static void main(String[] args) {
        int arr[] = { 2, 5, 7, 12, 55 };
        BinaryFind bf = new BinaryFind();
        bf.find(0, arr.length-1, 55, arr);
    }
}

 

算法 二分查找

原文:http://www.cnblogs.com/bksqmy/p/4563881.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!