1.数组元素的读取(时间复杂度Ojava基础数组增删改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();
}
} - pram capacity 初始化数组容量

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

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