5.简说循环链表和双链表

//3.13 循环链表
//循环链表:我们用指向终端结点的尾指针来表示循环链表,此时查找开始结点和终端结点都很方便了
//终端结点用尾指针rear指示,这样我们查找终端结点是O(1),而开始结点,其实就是rear->next->next,其时间复杂也为O(1)
//举个程序的例子,要将两个循环链表合并成一个表时,有了尾指针就非常简单了。
//3.14 双向链表
//双向链表是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。所以在双向链表中的结点都有两个指针域。
//一个指向直接后继,另一个指向前驱。

//线性表的双向链表存储结构
typedef struct DulNode
{
    ElemType data;
    struct DulNode *prior;      //直接前驱指针
    struct DulNode *next;       //直接后继指针
} DulNode, *DuLinkList;

 

你可能感兴趣的:(5.简说循环链表和双链表)