#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
typedef struct DNode{
int data;
struct DNode *next,*prior;
}DNode, *DLinkList;
bool initDlinklist(DLinkList &L){
L = (DNode *)malloc(sizeof(DNode));
if(L == NULL) return false;
else{
L->next = L;
L->prior =L;
}
return true;
}
bool empty(DLinkList L){
return (L->next == L);
}
bool isTail(DLinkList &L,DNode *p){
return (p->next == L);
}
bool insert_pnext(DNode *p,DNode *s){
s->next = p->next;
p->next->prior =s;
s->prior = p;
p->next =s;
}
bool delete_pnext(DNode *p){
DNode *q = p;
p->next = q->next;
q->next->prior =p;
free(q);
}
int main(){
DLinkList L;
return 0;
}