当前位置: 首页> 健康> 科研 > --- 数据结构 链表 --- java

--- 数据结构 链表 --- java

时间:2025/7/17 0:59:34来源:https://blog.csdn.net/hadage233/article/details/141790857 浏览次数:0次

与顺序表相比,链表的最大优点就是不会存在空间的浪费

链表是通过将一个一个储存数据的节点(对象)连起来(通过记录下他们的地址),这些数据在逻辑上就是线性的,但在物理上不是,因为地址是随机的

链表的设计,

在自己实现的链表中还有个LIstNode类,这个是用来创造节点,而mylistnode中是实现方法对listNode进行增删查改的操作

head是储存链表的头一个节点

ListNode类使用static修饰,这样你在外部类不用newmylistnode也能使用,不过其实你不写也没有问题的也能正常实现的,不过加上是一个好的习惯,下面的图是java自己实现的链表的构造方法

可以看到也是加了static 

val用来储存数据,next用来连接下一个节点

增 add 头插 尾插

会有俩种情况,一是不存在链表,也就是head为空,那么我们直接创建一个节点赋给head

二是head不为空,那么我们就要找到他的尾巴,然后创建节点插入这个尾巴

删 del

尾删,这时需要遍历找到尾节点前一个节点,见这个节点的next置为空,这样就算是删除了最后一个节点

查找 contain

遍历这个链表,使用while不会空那么就走到下一个节点 tmp = tmp.next,并在走之前判断这个值是否存在

改 set

和查找一样,先找到这个节点,然后更改这个节点的值,然后退出返回true证明更改成功

这样增删查改就完成了,但这个仅仅只是开始,还可实现指定位置的插入,指定值的删除,删除所有链表中存在的指定值,查找该值并返回该节点等等

end fight!!~~

关键字:--- 数据结构 链表 --- java

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: