数据结构.双链表&&循环链表

一、1.双链表的初始化

数据结构.双链表&&循环链表_第1张图片

void InitLNode(LinkList& L)//双链表的初始化
{
    L = (LNode*)malloc(sizeof(LNode));
    L->prior = NULL;
    L->next = NULL;

}

2.双链表的插入

数据结构.双链表&&循环链表_第2张图片

数据结构.双链表&&循环链表_第3张图片

void DInsert(LNode* p,LNode*s)//在p结点后面插入s结点
{
    s->next = p->next;
    s->next->prior = s;
    p->next = s;
    s->prior = p;

}

3.双链表的删除

数据结构.双链表&&循环链表_第4张图片

void del(LNode* p)//删除p后面的结点
{
    LNode* q = p->next;
    p->next = q->next;
    q->prior = p;
}

二、1.循环链表

数据结构.双链表&&循环链表_第5张图片

数据结构.双链表&&循环链表_第6张图片

数据结构.双链表&&循环链表_第7张图片

数据结构.双链表&&循环链表_第8张图片

数据结构.双链表&&循环链表_第9张图片

你可能感兴趣的:(数据结构,链表)