A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 向前爬的虫子 中级黑马   /  2016-4-21 15:21  /  995 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

那位大神谁会二分法查找,求指点!!!

2 个回复

倒序浏览
package liu.dh.algorithm1;

public class TestBinary {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //1-100之间的数,给定一个数几次查找能够找到这个数;
                //查找search=26,看几次能够找到
                int first =1;
                int laste = 100;
                int count = 0;
                        //Integer
               
               
                while (true) {
                        int mid = (first+laste)/2;
                int search =26;
                        if (mid==search) {
                                count++;
                                break;
                               
                        }else if (mid>search) {
                                laste=mid-1;
                                count++;
                               
                        }else if (mid<search) {
                                first=mid+1;
                                count++;
                        }
                        if (laste<first) {
                                count=-(count++);
                                break;
                        }
                        if (first>laste) {
                                count=-(count++);
                                break;
                        }
                }
                System.out.println(count);
        }



}
回复 使用道具 举报
楼上的挺全了。二分查找也叫折半查询。意思就是每次都是在中间查询。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马