双链表

#include<stdio.h>
#include<stdlib.h>

//双链表的定义
typedef struct DNode{
    int data;
    struct DNode *prior,*next;
}DNode,*DLinklist;

//双链表初始化
bool InitDLinklist(DLinklist &L){
    L=(DNode *)malloc(sizeof(DNode));        //创建头结点
    if(L==NULL){                                //内存已满
        return false;
    }
    L->prior=NULL;
    L->next=NULL;
    return true;
}

//插入(在p后面插入s)
bool InsertNextDNode(DNode *p,DNode *s){
    p->next=s->next;
    if(p->next!=NULL){
        p->next->prior=s;
    }
    s->prior=p;
    p->next=s;
    return true;
}

//删除删除p后面的q
bool DeleteNextDNode(DNode *p,DNode *q){
    p->next=q->next;
    if(q->next!=NULL){
        q->next->prior=p;
    }
    free(p);
    return true;
}

int main(){
    
}

 

posted @ 2022-07-13 19:42  CherriesOvO  阅读(19)  评论(0编辑  收藏  举报