zoukankan      html  css  js  c++  java
  • 二分法(网上查找结果)

    public int binarySearch(int[] data,int aim){//以int数组为例,aim为需要查找的数
    int start = 0;
    int end = data.length-1;
    int mid = (start+end)/2;//a
    while(data[mid]!=aim&&end>start){//如果data[mid]等于aim则死循环,所以排除
    if(data[mid]>aim){
    end = mid-1;
    }else if(data[mid]<aim){
    start = mid+1;
    }
    mid = (start+end)/2;//b,注意a,b
    }
    return (data[mid]!=aim)?-1:mid;//返回结果
    }
    //针对已经排序好的数组进行查找(对上面代码进行的改进)
    publicstaticbooleanbinarySearch(int[]array,inttarget){
    intleft=0;
    intright=array.length-1;
    intmid=(left+right)/2;
    while(array[mid]!=target&&right>left){
    if(array[mid]>target){
    right=mid-1;
    }
    elseif(array[mid]<target){
    left=mid+1;
    }
    mid=(left+right)/2;
    //判断在缩小范围后,新的left或者right是否会将target排除
    if(array[right]<target){
    break;//若缩小后right比target小,即target不在数组中
    }
    elseif(array[left]>target){
    break;//若缩小后left比target大,即target不在数组中
    }
    }
    return(array[mid]==target);
    }
  • 相关阅读:
    linux资源监控命令详解
    c语言入门教程 / c语言入门经典书籍
    Hive存储过程实现-hpsql
    Hive集成mysql数据库
    Hive安装与配置
    Hbase shell操作总结(2)
    Hbase shell操作总结(1)
    Hbase 原理介绍
    Hbase的安装与配置
    Zookeeper工作原理(详细)
  • 原文地址:https://www.cnblogs.com/zs6666/p/5870881.html
Copyright © 2011-2022 走看看