0514学习总结(双链表)

本文详细介绍了单链表和双链表的基本概念、优势与劣势,并深入探讨了双链表的设计目的及其基本操作,包括节点创建、插入、删除等过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.双链表
单链表中的循环链表
链表的最后一个节点的pnext指向头节点
前:p->pnext == null
后:p->pnext == p->pheader
单链表的优势:
1.可以解决数组大小一旦决定之后很难改变的缺点
2.链表中的各个节点之间可以不用连续分配
3.分配的是堆空间,可以充分利用碎片化内存
单链表的缺点:
1.每个节点要分配指针变量,用来保存下一个节点的地址,浪费空间
2.只能指向下一个节点
3.无论什么类型的指针变量,所占用的都是4字节

双链表:
1.为了解决第二个缺点
2.双链表不是2个链表,就是单链表多了一个指向前节点的指针
2.创建节点
3.插入,尾插
比单链表多了一种向前遍历的方式
前向遍历:
1.获取链表中最后一个尾节点的地址
2.用while循环依次p->pnext != null
4.删除
头结点--》node 1-->node 2-->node 3-->null
伪代码:
1.将node2的前面的一个pnext指向后面的一个节点
2.将ndoe2的后面一个节点的pnext指向node2的前面的一个节点,及node1
3.释放node2这个节点所分配的堆空间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值