目录
⌛链表介绍⌛
前面说到,链表的结构一共有八种:带头单向循环链表、带头单向非循环链表、带头双向循环链表、带头双向非循环链表、无头单向循环链表、无头单向非循环链表、无头双向循环链表、无头双向非循环链表。
在这八种结构中,只挑两种来进行刨析,即无头单向非循环链表
和带头双向循环链表
。
⌚一、带头双向循环链表介绍
前面我们实现了无头单向非循环链表,特性为:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在OJ题中出现很多,所以我们才要模拟实现充分了解它的特性。
而无头单向非循环链表是有缺点的,那就是尾插和尾删的时候都要找到最后一个结点,时间复杂度为O(N),并且要考虑到是否为头结点删除起来很不方便。
针对这一些缺点我们再来实现带头双向循环链表,带头双向循环链表结构复杂,一般用在单独存储数据,结构复杂了一点,但是实现起来却很简单。