diff --git a/链表/双链表的删除.c b/链表/双链表的删除.c new file mode 100644 index 0000000..d130cfe --- /dev/null +++ b/链表/双链表的删除.c @@ -0,0 +1,41 @@ +#include +#include +#include + +typedef struct DNode{ + int data; + struct DNode *next,*prior; +}DNode,*DLinkList; + +bool InitDlinkList(DLinkList L){ + L = (DLinkList)malloc(sizeof(DNode)); + if(L==NULL){ + return false; + } + L->prior = NULL; + L->next =NULL; + return true; +} + +bool DeleteNextNode(DNode *p){ + if(!p){ + return false; + } + DNode* q = p; + if(!q){ + return false; + } + p->next = q->next; + if(q->next){ + q->next->prior = p; + } + free(p); + return true; +} + +int main() +{ + DLinkList L; + InitDlinkList(L); + return 0; +}