java单链表尾插法_Java解释单链表中的头插法以及尾插法

单链表属于数据结构中的一种基本结构,是一种线性结构,在此使用Java对其中的头插法以及尾插法进行解释。

首先定义好链表中的节点类:

a5a383766f21ff116b9ec63df1091303.png

其中,data代表节点所存放的数据,next代表指向下一节点

对于单链表而言其结构如下图:

2f1e78b336733792a1b47c13aaba85eb.png

可以得知在链表是以地址索引的方式进行存储,next就显得尤为重要,下面介绍两种易懂的插入方式

①头插法

原理:将每个新节点都插在头节点的前面,并自己成为头节点

代码为:

85c526e224ce8da840ef4dc29590d03e.png

原理解释图为:

74bfdf9524e5c815ab6f2ef991d9ec99.png

值得注意的是,当链表第一次添加节点时,头节点为空,所以第一次操作都是直接被新节点覆盖,这一原理在任何插入方法都一样,包括下面将要提到的尾插法。

当存在1个节点时,加入新节点只需将新节点的next指向当前的头节点,并使新节点覆盖头节点,便可以将两节点链起来

②尾插法:

找到链表中最后一个节点,将新节点添加在后面

代码:

ad10bf32a8915f7e021c7c95714211b8.png

原理图为:

4f7f5dbb7f14f37eccdfbdca488a28f8.png

易知在尾插法中,只需要使用一个临时temp节点复制头节点之后,一次向后寻找next直到找到尾节点,因为尾节点之后没有节点,并将尾节点的next指向新节点,就可以将两节点链起来了

不懂可以私信或者留言

算是记录自己的学习过程

加油!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值