雙向鏈表結構:
typedef structDualNode
{
ElemType data;
struct DualNode*prior; //前驅結點
struct DualNode*next; //后繼結點
} DualNode, *DuLinkList;
既然單鏈表可以有循環(huán)鏈表蚯嫌,那么雙向鏈表當然也可以有:
雙向鏈表的插入操作:
- s->next = p;
- s->prior = p->prior;
- p->prior->next = s;
- p->prior = s;
雙向鏈表的刪除操作:
- p->prior->next = p->next;
- p->next->prior = p->prior;
- free(p);