Java实现线性表的单链表存储

       本篇文章主要使用Java实现单链表存储以及一些个人的理解,链表的概念已经有很多了,但是实现方法有很多,概念不会的可以看这个《线性表的基本概念》,我主要说说针对Java的单链表实现的理解。在有指针的语言里面(C/C++等),链表的连接是可以直接通过指针指向下一个节点实现的。但是Java没有指针,所以参考了一下别人的写法,大概都是使用对象存储实现的,个人感觉别的写法比较粗糙,就自己实现了一个。有不对的地方请指出。

       Java实现链表使用的是对象存储,通俗来说就是头结点是一个节点对象,头结点的数据域是下一个节点对象,下一个节点的数据域里面是下下个节点对象...以此类推。

所以根据需求可以大概设计出:

1.节点类Node.java:包涵数据域和指针域,数据域存储数据,指针域存储下一个节点对象

2.操作节点类OperationLinked.java:对节点的各种操作,本次主要实现以下功能

  • 在头部添加节点(默认添加方式)
  • 在尾部添加节点
  • 在指定位置添加节点
  • 删除指定位置节点
  • 显示所有节点信息
  • 显示指定位置节点信息

3.测试类Test.java:测试功能

 

注意事项:

       1.头结点默认存在,所以一开始使用构造方法创造一个头结点

       2.在指定位置添加节点、删除指定位置节点、显示指定位置节点时,要判断是否超出链表位置

节点类Node.java:

//链表中的节点
public class Node<Type> {
   
private Type data//节点中的数据域:保存数据
   
private Node next//节点中的指针域:理论上来说保存的是指向下一个节点的指针,在Java中没有指针所以直接保存下一个节点

    //不带参构造方法,每个刚创建的新节点的指针域都是null
   
public Node() {
       
this.next = null;
   
}
   
//带参构造方法,每个刚创建的新节点的指针域都是null
   
public Node(Type data) {
       
this.data = data;
        this
.next = null;
   
}
   
public Type getData() {
       
return data;
   
}
   
public Node getNext() {
       
return next;
   
}
   
public void setData(Type data) {
       
this.data = data;
   
}
   
public void setNext(Node next) {
       
this.next = next;
   
}
}

操作节点类OperationLinked.java:

/**
 *  节点操作类
 *  1.创建头结点。头结点指针域指向第一个节点
 *  2.在头部添加节点(默认添加方式)
 *  3.在尾部添加节点
 *  4.在指定位置添加节点
 *  5.删除指定位置节点
 *  6.显示所有节点信息
 *  7.显示指定位置节点信息
 */
public class OperationLinked {
    Node head = new Node<>();   //创建一个头结点
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值