【数组】查找

导读:本篇文章讲解 【数组】查找,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

基本查找

针对数组无序的情况

public static int getIndex(int[] arr,int value) {
    int index = -1;
    for(int x=0; x<arr.length; x++) {
        if(arr[x] == value) {
        index = x;
        break;
        }
    }	
    return index;
}

折半查找(二分查找)

针对数组有序的情况(千万不要先排序,在查找)

public static int getIndex(int[] arr,int value){
    //定义最大索引,最小索引
    int max = arr.length -1;
    int min = 0;
    //计算出中间索引
    int mid = (max +min)/2;
    //拿中间索引的值和要查找的值进行比较
    while(arr[mid] != value){
        if(arr[mid]>value){
            max = mid - 1;
        }else if(arr[mid]<value){
            min = mid + 1;
        }
        //加入判断
        if(min > max){
            return -1;
        }
        mid = (max +min)/2;
    }
    return mid;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117440.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!