//双向链表--通过空间换区效率
//定义--注 双向链表也有唯一头指针
//特征: p->prior->next = p;
// p = p>next->prior;
typedef struct dlnode
{
ElemType data;
Struct dlnode *prior,*next;
}DLNode, *DLinkList;
//插入操作 p指向某结点,s指向待插入的新结点 将*s 插入到*p的前面
/**
* 务必注意顺序问题
* 1.s->prior = p->prior;
* 2.p->prior->next = s;
* 3.s->next = p;
* 4.p->prior = s;
*/
//删除操作 p指向双向链表中待删除的结点
/**
* 务必注意顺序问题
* 1.p->prior->next = p->next;
* 2.p->next->prior = p->prior;
* 3.free(p);
*
*/