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

package com.hui_binary;

import java.util.Scanner;

public class Demo1 {
        public static void main(String[] args) {
                int [] arr = {3, 4, 9, 15, 23, 25, 36, 45, 45, 59, 59, 78, 78, 99};
                int key = new Scanner(System.in).nextInt();
                int star = 0;
                int end = arr.length-1;
                int mid ;
                if(key==arr[star]){
                        mid = star;
                }else if (key==arr[end]){
                        mid = end;
                }else{
                        mid = (star + end)/2;
                        System.out.println(mid);
                        while(!(arr[mid]==key)){
                                if(arr[mid]>key){
                                        end = mid;
                                        mid = (star + end)/2;
                                }else if(arr[mid]<key){
                                        star = mid;
                                        mid =  (star + end)/2;
                                }
                        }
                }
                System.out.println("查找的数字的位置是:"+mid);
        }
}

1 个回复

倒序浏览
二分查找?  
直接用工具类查吧 简单点
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马