单链表属于数据结构中的一种基本结构,是一种线性结构,在此使用Java对其中的头插法以及尾插法进行解释。数据结构
首先定义好链表中的节点类:
ide
其中,data表明节点所存放的数据,next表明指向下一节点学习
对于单链表而言其结构以下图:
视频
能够得知在链表是以地址索引的方式进行存储,next就显得尤其重要,下面介绍两种易懂的插入方式
①头插法
原理:将每一个新节点都插在头节点的前面,并本身成为头节点
代码为:
blog
原理解释图为:
索引
值得注意的是,当链表第一次添加节点时,头节点为空,因此第一次操做都是直接被新节点覆盖,这一原理在任何插入方法都同样,包括下面将要提到的尾插法。
当存在1个节点时,加入新节点只需将新节点的next指向当前的头节点,并使新节点覆盖头节点,即可以将两节点链起来get
②尾插法:
找到链表中最后一个节点,将新节点添加在后面原理
代码:
方法
原理图为:
im
易知在尾插法中,只须要使用一个临时temp节点复制头节点以后,一次向后寻找next直到找到尾节点,由于尾节点以后没有节点,并将尾节点的next指向新节点,就能够将两节点链起来了
视频版本能够移步b站:https://www.bilibili.com/video/BV1fy4y1i7QN/
https://www.bilibili.com/video/BV1Qa411c7uj/
不懂能够私信或者留言
算是记录本身的学习过程 加油!