Java-数据结构-链表

链表

链表是一种线性数据结构,但不会根据线性存储数据,而是在当前元素存储下个元素的指针。链表相对数组的优点是,可以不预先知道数据的大小,而且不像数组那样需要空间的连续性,因此链表可以充分的利用计算机的内存空间,但是它也失去了随机取出数据的灵活性和存储指针的额外内存开销。

链表的种类

单向链表

单向链表是最简单的一种,它每个节点分为两部分:数据域和指针域,数据域存储当前节点的数据信息,指针域存储下个节点的地址。单链表的遍历,只能从头节点遍历,依次往后查询,插入也只是将新节点置为头节点,将指针指向原头节点,删除某个节点,只需将该节点的上个节点的指针指向该节点的下个节点即可。数据模型图如下:
在这里插入图片描述
增加
在这里插入图片描述
删除
在这里插入图片描述

双向链表

理解了单向链表,就可以很快理解双向链表,双向链表只是在元素中加入了指向上个元素的指针,节点信息就包括三部分,前指针域、数据域、后指针域。数据模型图如下:
在这里插入图片描述

双端链表

双端链表只是在单向链表的基础上多了一个对尾节点的引用,解决了单向链表只能从头节点插入数据的缺点。在这里插入图片描述

链表操作

链表操作
Java单链表、双端链表、有序链表实现

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值