数据结构(一)-顺序存储结构的插入和删除:向指定位置的数组插入和删除元素
来源:互联网 发布:编程 开发 编辑:程序博客网 时间:2024/06/05 16:47
1.插入:
public static void main(String[] args) throws Exception {int[] arr = new int[] { 1, 2, 3, 4 };simulateInsert(arr, 2, 9);}private static void simulateInsert(int[] arr, int i, int j)throws Exception {int[] b = null;if (i > arr.length) {throw new Exception("越界");}if (i < 1 || i > arr.length - 1) {throw new Exception("不在范围内");}// 不在表尾if (i != arr.length - 1) {b = Arrays.copyOf(arr, arr.length + 1);// 递减的目的是先存储住之前的假如正着,会把之前的通通覆盖for (int k = b.length - 1; k >= i - 1; k--) {b[k] = b[k - 1];}b[i - 1] = j;}}
2.删除:
public static void main(String[] args) throws Exception {int[] arr = new int[] { 1, 2, 3, 4 };SimulateDelete(arr, 2);}/** * 删除数组指定位置的元素 * * @param arr * @param i * @throws Exception */private static int[] SimulateDelete(int[] arr, int i) throws Exception {if (i > arr.length || i < 1) {throw new Exception("位置不对");}for (int k = i; k < arr.length; k++) {arr[k - 1] = arr[k];}return Arrays.copyOf(arr, arr.length - 1);}
顺序存储结构在查询的时候时间复杂度是O(1);固定的;而在插入或者是删除的时候是O(n),由此可知,数组或者顺序存储结构不太适合增删,适合查询操作
阅读全文
0 0
- 数据结构(一)-顺序存储结构的插入和删除:向指定位置的数组插入和删除元素
- 简单顺序表的插入,删除,指定位置,指定元素的插入删除操作
- js数组 插入和删除指定位置
- 数据结构与算法分析之顺序存储结构的建立,插入和删除操作
- 数组元素的插入和删除
- 数据结构之线性表的顺序存储结构(数组)的插入与删除
- 顺序存储结构的插入与删除
- 顺序存储结构的插入与删除
- 顺序存储结构的插入与删除
- 设计实现mini_vector中的插入和删除算法,要求在指定位置插入、删除元素
- 数据结构—链表元素的删除和插入
- 线性表顺序存储结构插入和删除的实现 java
- 数据结构学习之路----------线性表顺序存储结构插入和删除节点平均移动次数
- 线性表顺序存储结构插入和删除
- 编程实现顺序存储结构和链式存储结构线性表的建立、查找、插入、删除等基本操作
- 向数组指定位置插入元素
- 元素的创建,插入,替换和删除
- 红黑树元素的插入和删除
- 物体检测“DSOD: Learning Deeply Supervised Object Detectors from Scratch”
- 扫雷
- Python
- 2017/08/23 备忘
- bzoj 3358: [Usaco2004 Jan]洪水
- 数据结构(一)-顺序存储结构的插入和删除:向指定位置的数组插入和删除元素
- Unity学习之路——C# 位操作、Flags、接口、抽象类
- flannel 概述
- ubuntu修改mysql默认路径和修改max_connect参数
- Spring boot 搭建个人博客系统(六)——文章点击量和阅读排行榜
- Android动画(一)-视图动画
- js打开本地某个APP
- 桥接模式
- 敏感词过滤