当前位置:网站首页 > Java基础 > 正文

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

 

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

  • 上一篇: java基础数字排序
  • 下一篇: Java有哪些基础
  • 版权声明


    相关文章:

  • java基础数字排序2024-11-10 16:34:02
  • java基础题库app2024-11-10 16:34:02
  • java 音频开发基础知识2024-11-10 16:34:02
  • java基础综合练习2024-11-10 16:34:02
  • java web 基础 面试2024-11-10 16:34:02
  • Java有哪些基础2024-11-10 16:34:02
  • java静态代理基础2024-11-10 16:34:02
  • java基础之for循环和while循环2024-11-10 16:34:02
  • 学python有java基础2024-11-10 16:34:02
  • java小程序运行基础2024-11-10 16:34:02