zoukankan      html  css  js  c++  java
  • Java 算法 — 数组的增删改查

    前置条件: elements  是 数组的长度。

    增:

        public void insert(long value) {
            arr[elements++] = value;
        }

    其中elements 在这个 类 初始化 是 0    而且    前提是 arr 是有不是null,不然空指针异常。


    顺序查找:

    1.顺序查找,,根据值查找 返回下标:

    /**
         * 查找数据
         */
        public int search(long value) {
            int i;
            for(i = 0; i < elements; i++) {
                if(value == arr[i]) {
                    break;
                }
            }
            
            if(i == elements) {
                //没找到
                return -1;
            } else {
                //找到返回i
                return i;
            }
            
        }

    2,顺序查找  , 根据下标查找 返回值:

    public long getValue(int index){
            if (index >= elements || elements < 0){
                throw new ArrayIndexOutOfBoundsException();
            }else{
                return arr[index];
            }
        }

    3. 二分法查找,根据 值 查找,返回 下标:

    注意!  二分法仅适用于 有序数组【递增 、 递减】,下面是递增版。 【   一般考试那些教材 都写明一定得是 递增   】

     二分法 - 有序递增

    删:

    1.根据index 删

    思路: index 以后的 都 = arr[index + 1],,

     public void delete(int index) {
            if (index >= elements || index < 0) {
                throw new ArrayIndexOutOfBoundsException();
            } else {
                for (int i = index; i < elements; i++) {
                    arr[index] = arr[index + 1];
                }
                elements--;
            }
        }

    改:

    根据下标更新数据:

    思路: arr[下标] = newValue

        /**
         * 更新数据
         */
        public void change(int index, int newvalue) {
            if (index >= elements || index < 0) {
                throw new ArrayIndexOutOfBoundsException();
            } else {
                arr[index] = newvalue;
            }
        }
    }

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/15515584.html

  • 相关阅读:
    PostgreSQL初识,编译安装
    关于iframe的父页面调取子页面里的事件(父往子里传)
    织梦常用代码
    获取月份的最后一天是几号
    获取今天、昨天、一周前的日期
    时分秒倒计时的js实现
    CSS初始化代码
    正则表达式
    utils.js文件;一些常用方法的备份
    js replace替换一段文本中所有的相同字符
  • 原文地址:https://www.cnblogs.com/bi-hu/p/15515584.html
Copyright © 2011-2022 走看看