天天看点

数据结构基础(12) --双向循环链表的设计与实现

双向链表的操作特点:

    (1) “查询” 和单链表相同;

    (2)“插入” 和“删除”时需要同时修改两个方向上的指针。

   但是对于双向循环链表则在表尾插入非常的迅速, 只需O(1)的时间,因为有指向前面的指针, 因此双向循环链表会很容易的找到位于表尾的元素,因此双向循环链表比较适用于频繁在表尾插入的情况.

空链表:

数据结构基础(12) --双向循环链表的设计与实现

双向循环链表节点构造:

因为需要将其用于DoubleList类,因此需要将其改造如下:

双向循环链表构造:

链表的构造与析构:

链表元素插入与删除的两大主力:

提供给客户的插入:

提供给客户的删除:

查看是否存在于链表中:

输出链表所有元素(测试用):

测试代码:

继续阅读