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://www.bianchenghao6.com/h6javajc/25653.html