java基础数组增删改

java基础数组增删改1 数组元素的读取 时间复杂度 O java 基础数组增删改 8 1 对于数组来说 读取元素是最简单的操作 因为数组在内存中是顺序存储的 只需要给出一个下标 就可以读取到对应得的数组元素 2 数组元素的更新 时间复杂度 O 1

大家好,我是讯享网,很高兴认识大家。



1.数组元素的读取(时间复杂度O࿰java基础数组增删改8;1))

对于数组来说,读取元素是最简单的操作。因为数组在内存中是顺序存储的,只需要给出一个下标,就可以读取到对应得的数组元素

 
讯享网 

2.数组元素的更新(时间复杂度O(1))

对于数组来说,更新元素也是非常简单的操作。直接利用数组下标就可以把新值赋值给该元素

讯享网

在这里插入图片描述

3.数组元素的插入(时间复杂度O(n))

3.1尾部插入

尾部插入相对简单,直接把插入的元素放入尾部的空闲位置即可

 

在这里插入图片描述

3.2中间插入

/

  • @author:MZH
  • @:
  • @Date:2022/8/31 17:39
    */

/

  • 中间插入就比较麻烦,由于每个数组元素都有其固定下标,所以不得不把插入位置及以后的元素全部后移
    */
    public class MyArray2 {
    //准备数组
    private int[] array;
    //数组的实际长度,也就是数组里面实际有多少个元素
    private int size;
    • pram capacity 初始化数组容量
      */

    public MyArray2(int capacity){
    this.array = new int[capacity];
    size = 0;
    }

    /

    • @param element 插入的元素
    • @param index 插入的位置
      */
      public void insert(int element,int index) throws Exception{
      //判断插入的位置是否超出范围
      if (index<0||index>size){
      throw new Exception(“超出数组实际范围”);
      }
      //从右往左循环,移动元素
      for (int i=size-1;i>=index;i–){
      array[i+1]=array[i];
      }
      //放入新元素
      array[index]=element;
      //数组的实际长度加一
      size++;
      }
      //打印数组
      public void print(){
      for (int i = 0; i < size; i++) {
      System.out.print(“[”+array[i]+“]”);
      }
      System.out.println();
      }

    public static void main(String[] args) throws Exception{
    MyArray2 myArray2 = new MyArray2(6);
    myArray2.insert(10,0);
    myArray2.insert(18,0);
    myArray2.insert(15,0);
    myArray2.insert(17,0);
    myArray2.insert(99,1);
    myArray2.print();
    }
    }

在这里插入图片描述

3.3超范围插入

假如现在有一个长度为6的数组,想插入第7个元素,怎么办?
扩容!
因为数组一旦创建,长度就确定了,无法改变,所以我们可以准备一个新的数组,长度是原来数组的2倍,再把原来数组中的元素复制到新的数组中,这样就实现了扩容。

讯享网

在这里插入图片描述

4.数组元素的删除(时间复杂度O(n))

数组的删除不涉及扩容,所以较为简单


                    
小讯
上一篇 2024-12-29 07:43
下一篇 2024-12-24 21:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/3331.html