发布网友 发布时间:2024-10-24 16:05
共2个回答
热心网友 时间:2024-11-09 13:39
节点互换位置不一定整个节点动,直接换data即可。
p是要删除的结点,q是p的前一个结点
q->next = p->next;//删除的结点的后一结点的首地址赋值给删除的结点的前一结点的next
p->next->prior = q;//删除的结点的后一结点的prior指向删除的结点的前一结点的首地址free(p);
扩展资料:
线性表的双向链表存储结构:
typedef struct DuLNode
{
ElemType data;
struct DuLNode *prior,*next;
}DuLNode,*DuLinkList;
带头结点的双向循环链表的基本操作:
void InitList(DuLinkList L)
{ /* 产生空的双向循环链表L */
L=(DuLinkList)malloc(sizeof(DuLNode));
if(L)
L->next=L->prior=L;
else
exit(OVERFLOW);
}
参考资料来源:百度百科-双向链表
热心网友 时间:2024-11-09 13:40
节点互换位置不一定整个节点动呢,直接换data就好了