龙空技术网

图文详解双向链表原理

春风不负韶华YB 783

前言:

而今同学们对“双向链表和循环链表的基本操作”可能比较珍视,我们都需要了解一些“双向链表和循环链表的基本操作”的相关文章。那么小编同时在网摘上搜集了一些对于“双向链表和循环链表的基本操作””的相关内容,希望朋友们能喜欢,各位老铁们快快来了解一下吧!

双向链表的设计

双向链表的主要优点是对于任意给的结点,都可以很轻易的获取其前结点和后结点,其主要缺点是每个结点需要保存next和prev两个属性,因此需要更多的空间开销,同时结点的插入与删除操作也将更加耗时,因为需要操作更多的指向操作。

双向链表单个节点结构:

双向链表节点

双向链表的数据结构:

双向链表数据结构

双向链表的插入操作

插入数据到链表尾部

链表尾部插入数据

插入数据到链表中间

链表中部插入数据

双向列表删除操作

删除链表尾部数据

删除尾部数据

删除链表中间数据

删除中间数据

循环双向列表设计

循环双向链表是在普通双向链表基础上进化得到的。在普通的双向链表中,如果我们要获取最后一个节点的时候,我们只能从头开始遍历,一直遍历到最后才能够拿到最后一个节点的数据。而循环双向链表会把header的prev指向最后一个节点,最后一个节点next指向header。其数据结构如图所示:

循环双向链表

循环链表的添加、删除和普通的双向链表是一模一样的,这里就不再赘述。

标签: #双向链表和循环链表的基本操作 #循环链表的主要优点 缺点 #链表的原理 #循环链表的主要优点