数据结构链表——双向链表

对于单链表来说,每个链表只存储了向后的指针,因此当指针遍历到链表尾节点之后就会停止。这样一个节点就无法向前获取它的前驱结点,这用起来还是有些麻烦的,因此我们思考添加一个前驱指针,在单链表的基础上形成双链表。

这样一来,是不是就方便很多了?

既然存在单向循环链表,那么也就存在双向循环链表了。

同样为了是空双向循环链表和非空双向循环链表处理起来统一,引进头节点头指针。

对于双向链表的插入和删除其实和基本链表是有区别的,虽然原理一样,但要复杂许多,尤其是操作的序列千万不能弄混。

对于删除操作,和插入操作的原理相差无几。

 最后不要忘记释放p节点free(p)。

猜你喜欢

转载自www.cnblogs.com/jiameng991010/p/11304692.html