Java——链表

本文介绍了链表出现的原因,详细阐述了单向链表的增加和删除操作,并对比了双向链表的区别,包括双向链表的增删节点。此外,还提及了循环链表的概念,它是双向链表的一种特殊形式。通过理解这些基本概念,有助于提升数据结构的操作效率。
摘要由CSDN通过智能技术生成

Java——链表

1. 出现的原因

当我们使用以数组为底层的数据存储的类型的时候,我们存储的东西越多,我们插入和删除里面的内容所花销的资源就越多,为了避免插入和删除的线性开销,我们要保证表可以不连续的存储,否则表的每个部分都可能要整体性的移动。
基于以上的考虑出现了链表

2. 链表

2.1 单向链表

单向链表

链表由一系列的节点组成,这些节点可以不在连续的存储单元中,每个节点都有表元素(存的内容)和指向它的后续节点的链(link)

2.1.1 单向链表的增加

单向链表的添加

当我们向链表里面添加一个节点的时候,我们只需要将他的前面一个节点1的link指向要添加的元素Node4,然后将要Node4的link指向Node2即可

2.1.2 单向链表的删除

单向链表的删除

当我要从链表中删除一个节点时,我们只需要将要删除的节点Node2的前一个节点的link指向Node2的后一个节点就行了。

2.2 双向链表

双向链表

双向链表和单向链表的唯一不同就是双向链表的每个节点多了一个指向前节点链(link)
双向链表的增加和删除和单向链表差不多,不同就是
1.删除要将被删除节点的后一个节点的prev指向改为被删除节点的前一个节点
2.添加要将被添加节点的后一个节点的prev指向改为添加节点的,添加节点的prev要指向添加节点的前一个节点(😓😓)

2.3 循环链表

循环链表就是双向链表的头节点的prev指向它的尾节点,尾节点的next指向它的头节点,不多赘述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学编程的小猫猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值