数据结构:链表与栈的深入解析
1. 链表操作示例
在初始的操作中,我们有一个链表 4 -> 2 -> 3 ->
。当尝试在数据 12
之后插入数据时,由于 12
不在链表中,操作失败,链表保持 4 -> 2 -> 3 ->
。随后,在数据 2
之后成功插入数据 12
,链表变为 4 -> 2 -> 12 -> 3 ->
。接着进行删除操作,先删除了数据 3
,链表变为 4 -> 2 -> 12 ->
,再删除数据 12
,链表变为 4 -> 2 ->
。
2. 循环双向链表
2.1 概述
循环双向链表的主要目的是简化插入和删除操作。在这种链表中,最左边节点的左链接包含最右边节点的地址,最右边节点的右链接包含最左边节点的地址。
2.2 操作
2.2.1 插入操作
- 在开头插入
- 算法步骤 :
- 开始
- 如果可用节点为空,则打印 “OVERFLOW” 并停止
- 将可
- 算法步骤 :