码迷,mamicode.com
首页 > 编程语言 > 详细

java基础 二分查找算法

时间:2016-12-25 13:30:46      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:查找算法   思路   位置   system   while   存在   二分查找算法   length   java基础   

 /*
   * 折半查找法:
   * 思路:
   * 定义三个变量记录查找范围中最大、最小和中间的索引值,每次都是使用中间索引值与要查找的目标进行对比,如果不符合,那么就不停缩小查找范围
   * */
  //前提:查找的序列必须是有序的
  int[] arr1 = {3,5,7,10,22,45,191};
  //定义三个变量记录查找的边界和中间位置,并且初始化
  int min = 0;
  int max = arr1.length;
  int mid = (min + max)/2;
  //定义一个变量,记录要查找的元素值;
  int target = 56;
  
  while(true){
   if(target>arr1[mid]){
    min = mid+1;
   }else if(target<arr1[mid]){
    max = mid-1;
   }else if(target==arr1[mid]){
    System.out.println("找到了" + target + "的位置是:" + mid);
    break;
   }
   mid = (max+min)/2;
   if(max<min){
    System.out.println("没找到,查找的元素不存在");
    break;
   }
  }
  

java基础 二分查找算法

标签:查找算法   思路   位置   system   while   存在   二分查找算法   length   java基础   

原文地址:http://www.cnblogs.com/michaellin/p/6219197.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!