线性表顺序存储结构插入和删除的实现 java
2014-12-06 20:59
429 查看
本章主要是对线性表的顺序存储结构进行总结。(借助了《大话数据结构这本书》,对于跨专业进入IT的建议可以看看这本书)
在开篇首先介绍一些简单的概念。
一 什么是线性表(List)?
零个或多个数据元素的有限序列。
二 线性表从存储结构上可以分为那两种?
(1)顺序存储结构
(2)链式存储结构
三 什么是线性表的顺序存储结构?
用一段地址连续的存储单元依次存储线性表的数据元素。
线性表的顺序存储示意图:
对于顺序存储结构可以比较自然的想到数组。是的,数组就是一种典型的顺序存储结构。
四 顺序存储结构的插入
在这里我们可以用一个数组[a0,a1,a2,a3.....,ai,.....an]来模拟一个顺序存储结构,那么倘若一个元素m,要插入到数组元素ai的位置,那么首先,ai及以后的所有元素都要向后挪动一个位置,最后m这个元素才能插入到ai的位置。
顺序存储结构的删除
而对于插入操作,不难看出待删除元素去掉以后,之后的元素依次向前挪动一个位置。
五 线性表顺序存储结构插入和删除的java实现
在开篇首先介绍一些简单的概念。
一 什么是线性表(List)?
零个或多个数据元素的有限序列。
二 线性表从存储结构上可以分为那两种?
(1)顺序存储结构
(2)链式存储结构
三 什么是线性表的顺序存储结构?
用一段地址连续的存储单元依次存储线性表的数据元素。
线性表的顺序存储示意图:
对于顺序存储结构可以比较自然的想到数组。是的,数组就是一种典型的顺序存储结构。
四 顺序存储结构的插入
在这里我们可以用一个数组[a0,a1,a2,a3.....,ai,.....an]来模拟一个顺序存储结构,那么倘若一个元素m,要插入到数组元素ai的位置,那么首先,ai及以后的所有元素都要向后挪动一个位置,最后m这个元素才能插入到ai的位置。
顺序存储结构的删除
而对于插入操作,不难看出待删除元素去掉以后,之后的元素依次向前挪动一个位置。
五 线性表顺序存储结构插入和删除的java实现
package test1; public class SeqList<T> { public static final int MAXSIZE = 20;//存储空间的初始化分配量 private T[] data;//数组存储数据元素 private int Length;//线性表当前的长度 //插入元素 public boolean insertElem(int i,T t){//i表示要插入的位置,并不是数组的下标.t表示待插入的元素 if (Length==MAXSIZE) { System.out.println("线性表已经满"); return false; } if (i<1 || i>Length+1) {//i不在范围内 return false; } if (i<=Length) {//插入的位置不在表尾 for(int j=Length-1;j>=i-1;j--){ data[j+1] = data[j];//前面的值赋值到后面 } } data[i-1] = t;//将新元素插入 Length++; return true; } //删除元素 public boolean deleteElem(int i){ if(Length==0){//此线性表为空表 System.out.println("此线性表为空"); return false; } if (i<1 || i>Length) { System.out.println("删除的位置不在范围内"); return false; } @SuppressWarnings("unused") T t = data[i-1]; if (i<Length) {//删除的位置不在表尾 for (int j = i-1; j < Length; j++) { data[j] = data[j+1];//后面的值赋值到前面 } } return true; } }
相关文章推荐
- java实现数据结构-线性表-顺序表,实现插入,查找,删除,合并功能
- 平衡二叉树平衡二叉树(AVL)--查找、删除、插入(Java实现)
- java实现单链表,功能有插入,删除,遍历。
- 使用JAVA实现单链表的建立、测长、打印、删除、插入、排序、逆置
- 《数据结构》线性表:链式存储结构实现示例代码二(插入、删除、查找)
- 试用多态实现线性表(队列,串,堆栈),要求具备线性表的基本操作:插入,删除,测长等。
- java 实现二叉查找树的 插入、删除、查找、深搜和广搜
- 线性表实现插入和删除
- <java><JTable>使用AbstractTableModel实现更新、删除、插入数据
- 关于java写二叉排序树的问题,实现各种节点的插入,删除,遍历
- java实现hbase表创建、数据插入、删除表
- 平衡二叉树(AVL)--查找、删除、插入(Java实现)
- 二叉查找树--查找、删除、插入(Java实现)
- 二叉树(插入,删除,遍历等)java实现
- java实现hbase表创建、数据插入、删除表
- 今天学了线性表顺序表示,自己写了一段代码!实现了 插入和删除!这也是第一次写博客
- java实现B树(二叉树)插入,删除
- 平衡二叉树(AVL)--查找、删除、插入(Java实现)
- Java实现二叉排序树的插入、查找、删除
- 平衡二叉搜索树(AVL)插入和删除的java代码实现