![]() |
1
0
我想这就足够了,基本上与代码的唯一区别是最后一条语句(为了简单起见,没有包含空检查):
|
![]() |
2
0
如果可能,只需交换两个节点的内容,就可以更轻松地交换它们。结果是一样的。如果代码中的其他地方有一个指向所交换节点之一的指针,并且仍然希望它是同一个节点,那么这会造成问题。
总之,回到你的代码。有几件事需要改进。首先,我们需要检查一下
|
![]() |
3
0
它通常有助于可视化双链接列表中的链接,只需将其绘制在一张纸上即可。您会注意到每个节点有4个链接:
因此,要交换两个不相关的节点,需要 交换 4个链接。 以下方法行不通:
这将覆盖旧值
注意——在线程环境中,需要某种形式的锁定。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 3 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 4 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 4 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 4 月前 |