java顺序表基础操作

java顺序表基础操作本文表述了线性表及其基本操作的代码 Java 实现 参考书籍 数据结构 Java 语言描述 刘小晶 杜选主编 线性表需要的基本功能有 动态地增长或收缩 对线性表的任何数据元素进行访问和查找 在线性表中的任何位置进行数据元素的插入和删除操作 求线性表中指定数据元素的前驱和后继等等 首先描述线性表的抽象类型 我们使用 Java 接口 interface Ilist java

大家好,我是讯享网,很高兴认识大家。



本文表述了线性表及其基本操作的代码【Java实现】

参考书籍 :《数据结构 ——Java语言描述》/刘小晶 ,杜选主编

线性表需要的基本功能有:动态地增长或收缩;对线性表的任何数据元素进行访问和查找;在线性表中的任何位置进行数据元素的插入和删除操作;求线性表中指定数据元素的前驱和后继等等。

首先描述线性表的抽象类型,我们使用Java接口interface:

Ilist.java:

 
讯享网 

其次描述顺序表,其特点有:在线性表中的逻辑上相邻的数据元素,在物理存储位置上也是相邻的;存储密度高,但需要预先分配”足够应用“的存储空间,这可能将会造成存储空间的浪费;便于随机存储;不便于插入和删除,因为在顺序表中进行插入和删除操作会引起大量数据元素的移位。我们用SqList类描述顺序表:

SqList.java:

讯享网

接着测试我们的顺序表,使用SqListTest类来做测试:

SqListTest.java:

 

运行我们的测试类,得到以下测试结果:

然后描述单链表,注意:我们推荐使用带头结点的单链表。这里总结以下关于头指针和头结点的问题:首先要清楚,head就是头指针,毋庸置疑;如果有头结点的话,head也头结点,这里头指针就是头结点,一般说成头指针指向头结点,而head.next是下标为0的元素,规定 head是下标为-1的元素;如果没有头结点的话,head本是就是下标为0的元素,这里没有头结点,但是head还是头指针。下面我们来描述结点类,它由java顺序表基础操作两部分组成,data数据域和next指针域:

Node.java:

讯享网
 

最后测试我们的单链表,使用LinkListTest类来做测试:

LinkListTest.java

 

运行我们的测试类,得到以下结果:

小讯
上一篇 2024-12-28 13:55
下一篇 2024-12-29 20:31

相关推荐

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