数组的元素查找排序

顺序查找

顺序查找:挨个查看

要求:对数组元素的顺序没要求

复制代码
    public static void arraySearch(int value) {
        int[] arr = {4, 5, 6, 1, 9};
        //int value = 1;
        int index = -1;

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == value) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            System.out.println(value + " 未找到...");
        } else {
            System.out.println(value + " 找到了,索引是 " + index);
        }
    }
复制代码

二分查找

举例:

实现步骤

 参考

复制代码
    //二分查找
    public static void binarySeach(int value) {
        //二分法查找:要求此数组必须是有序的。
        int[] arr = new int[]{-99, -54, -2, 0, 2, 33, 43, 256, 999};
        boolean ifFlag = true;
        int head = 0;//首索引位置
        int end = arr.length - 1;//尾索引位置
        while (head <= end) {
            int middle = (head + end) / 2;
            if (arr[middle] == value) {
                System.out.println("找到了,索引是 " + middle);
                ifFlag = false;
                break;
            } else if (arr[middle] > value) {
                end = middle - 1;
            } else {
                head = middle + 1;
            }
        }
        if (ifFlag) {
            System.out.println("没找到指定元素。是不是出错了...");
        }
    }
复制代码
posted @   晓枫的春天  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2022-04-13 Spark Core 练习
2021-04-13 Centos7开机之后连不上网 ens33:<BROADCAST,ULTICAST>mtu 1588 qdisc noop state DOWl group default qlen 1888
点击右上角即可分享
微信分享提示