#include<stdio.h>
#include<stdlib.h>
typedef int DataType;
typedef struct dlnode {
DataType data;
struct dlnode* prior, * next;
}DLNode;
typedef DLNode* DlinkList;
DlinkList head;
//插入
void DLInsert(DLNode *p,DataType x) {
DLNode* s = (DLNode*)malloc(sizeof(DLNode));
s->data = x;
s->prior = p->prior;
s->next = p;
p->prior = s;
p->prior->next = s;
}
//删除
DataType DLDelete(DLNode* p) {
p->prior->next = p->next;
p->next->prior = p->prior;
DataType x = p->data;
free(p);
return x;
}
//将单链表转换成双链表
void trans(DlinkList head) {
DLNode* p;
p = head;
while (p->next != head) {
p->next->prior = p;
p = p->next;
}
head->prior = p;
}