前言
数据结构是指所涉及的数据元素的集合以及数据元素之间的关系,数据结构对于编程语言学习和算法研究有很大的作用
本篇主要介绍用JAVA语言实现简单的线性表顺序存储,
线性表是一种典型的线性结构,是一种最常用的数据结构
提示:以下是本篇文章正文内容,下面案例可供参考
一、线性表是什么?
线性表就是数据元素排列像一条线一样的表.严格来定义的话,它是具有相同特性的数据元素的一个有限序列.
特征有三
一:所有元素数据类型相同
二:线性表由有限个数据元素构成
三:每个元素都有唯一的序号(索引)
本篇主要介绍线性表的顺序存储,即顺序表,下节介绍链式存储
二、顺序表的建立
1.先给出要建立顺序表的成员变量
代码如下(示例):定义顺序表的长度,容量等
2.基本算法在顺序表中的实现
1. 定义完顺序表的成员变量后,给出私有方法(private void updatecapacity)用来改变顺序表的容量
:
2. 顺序表的基本成员变量和如何改变容量的方法已经给出,接下来就是整体建立起一个顺序表
3.这样一个简单的顺序表就搭建完成了,接着我们给出顺序表相关的一些算法
(1).返回顺序表的长度
(2).设置线性表的长度
(3).将元素e添加到线性表的末尾
(4).返回线性表中序号为i的元素
(5).将线性表中第i个元替换成e
(6).交换元素
(7).插入元素
算法思想 : 这里我们先给出一个简单的线性表
1 2 3 4 5 6 7 8 9 10
我们如果要在3和4之间插入一个100的话,变成
1 2 3 100 4 5 6 7 8 9 10 的话,就是在索引为4的位置上将值替换成了100
首先我们先将3以后的每个索引(序号)都向后移一位,本身空缺出来的值系统会自动赋为0,因为我们是用java里的数组来进行存贮的,没有赋值的话会自动赋初值0
最后我们将e的值赋给索引为4的位置,最后将长度加一; 然后是代码演示 :
(8).删除元素
算法思想: 删除与插入的思想有一定程度的相似
1 2 3 4 5 6 7 8 9
这里我们删除索引为4的元素,也就是元素5 变成
1 2 3 4 6 7 8 9 (9)
这里同样的我们采用覆盖的方法,将元素前移,就是用元素5以后的元素来覆盖前一个元素
注意: 这里并不是真正意义上的删除(此时它的最后一个元素还是9),
但是我们输出的时候,会输出长度,此时这里的长度已经进行过size - -的操作,所以无需担心, 代码示例:
4. 我们已经给出了大多数算法示例,接着我们来实现它们
建立类的对象来实现这些算法,然后我们先来建立一个简单的线性表
输出结果 :
接着给出其他算法示例 (1). SetElem:
输出结果:
(2). 添加元素Add:
输出结果:
(3).插入元素Insert:
输出结果:
(4).删除元素Delete:
输出结果:
(5).交换元素Swap
输出结果:
总结
本次主要介绍了顺序表的建立和一些简单的操作,给出了一些算法的实现,顺序表是一种简单的数据结构,其中仍要我们去不断学习研究.
这就是本次介绍的内容,如有不足之处,欢迎指出,谢谢