一个带头结点的双向循环链表,现在交换任意两个结点p、q(p、q不一定相邻),代码怎么写? C语言

2024-12-15 19:56:00
推荐回答(1个)
回答1:

定义一个中间指针temp
然后
p->back->next = q;//让p的前一个节点指向q
q->back->next = p;//让q的前一个节点指向p

temp = p->next;
p->next = q->next;
q->next = temp; //交换next指针
temp = p->back;
p->back = q->back;
q->back = temp; //交换back指针