我是一朵油菜花啊

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.线性查找

for(int i=0;i<array.length;i++){

  if(a.equals(array[i])){

  system.out.print(" a is find in array");

  break;

  }

}

2.二分查找(前提:所要查找的数组首先需要有序)

import java.util.Scanner;

/**
 * 二分查找  基于有序数组
 */
public class BinarySerch {
    public static void main(String[] args) {
        //首先定义一个数组
        int[] arr=new int[]{1,2,3,4,5,6,7,8};
        //需要寻找的数字
        System.out.println("请输入数字:");
        Scanner input=new Scanner(System.in);
        int number=input.nextInt();
        //实现二分查找
        int end=arr.length-1;
        int start=0;
        boolean flag=true;
        while(start<=end){
            int middle=(end+start)/2;
            if(number==arr[middle]){
                System.out.println(number+"在数组中寻找到");
                flag=false;
                break;
            } else if (number<arr[middle]){
                end=middle-1;
            } else {
                start=middle+1;
            }
        }
        if(flag){
            System.out.println("没有找到");
        }
    }
}

 

posted on 2019-10-22 19:58  我是一朵油菜花啊  阅读(110)  评论(0编辑  收藏  举报