【发布时间】:2011-12-14 11:40:58
【问题描述】:
给定一个指向单链表上的中间节点(非头,非尾)的指针。如何在给定指针指向的节点之前插入一个新节点?
例如, 给定单链表:
A -> B -> C -> D -> E
给定一个指向C的指针(ptr = &C),以及一个新的节点F,如何得到
A -> B -> F -> C -> D -> E
注意:我们没有指向 A 的指针。
谢谢
【问题讨论】:
-
单链表无法做到这一点。您可以在之后插入一个节点 C,但不能在之前插入,因为您没有指向前一个节点的指针。
-
嗯,something 必须指向 A。否则,它只是丢失了。
-
"something" 可能指向
A,所以它不会丢失,是的。不过,这并不意味着插入F的代码可以访问那个“东西”。
标签: c++ algorithm list data-structures linked-list