双链表
#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(){ }