zoukankan      html  css  js  c++  java
  • Java之二分法

    1. 废话不多说,先来程序.一步一步看注释,

    2. 首先要注意:使用二分法时,数组必须是有序的,也就是从大到小或者从小到大的,不能是无序的

       1 public static int halfSearch(int[] arr,int key){
       2             int min,max,mid;//分别为最小值,最大值,和中间值
       3             min = 0;
       4             max = arr.length - 1;
       5             mid = (max + min)/2;//这应该就是二分的核心了,
       6             //当key = arr[mid]说明已经找到了这个数据,所以while循环的条件是!=
       7             while(arr[mid] != key){
       8                 if(key > arr[mid]){
       9                     min = mid + 1;
      10                 }else if(key < arr[mid]){
      11                     max = mid - 1;
      12                 }
      13                 //返回-1表示没有找到
      14                 if(max < min){
      15                     return -1;
      16                 }
      17                 mid = (max + min)/2;
      18             }
      19             //返回值为对应key值得下标
      20             return mid;
      21         }    
  • 相关阅读:
    最后一周作业
    第十四,十五周作业
    第七周作业
    第六周作业
    第四周作业
    第三周作业
    第二周作业
    二学期第三次作业
    二学期第二次作业
    二学期第一次作业
  • 原文地址:https://www.cnblogs.com/ggzhangblog/p/6367712.html
Copyright © 2011-2022 走看看