目录


【数据结构】——拿捏链表 ( 带头双向循环链表 )_循环链表


⌛链表介绍⌛

前面说到,链表的结构一共有八种:带头单向循环链表、带头单向非循环链表、带头双向循环链表、带头双向非循环链表、无头单向循环链表、无头单向非循环链表、无头双向循环链表、无头双向非循环链表。
 在这八种结构中,只挑两种来进行刨析,即无头单向非循环链表带头双向循环链表

【数据结构】——拿捏链表 ( 带头双向循环链表 )_C语言_02


⌚一、带头双向循环链表介绍

前面我们实现了无头单向非循环链表,特性为:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在OJ题中出现很多,所以我们才要模拟实现充分了解它的特性。

而无头单向非循环链表是有缺点的,那就是尾插和尾删的时候都要找到最后一个结点,时间复杂度为O(N),并且要考虑到是否为头结点删除起来很不方便。

针对这一些缺点我们再来实现带头双向循环链表,带头双向循环链表结构复杂,一般用在单独存储数据,结构复杂了一点,但是实现起来却很简单。

【数据结构】——拿捏链表 ( 带头双向循环链表 )_链表_03