如何在没有指向其头的指针的情况下将新节点插入到单链表中?

发布于 2024-12-12 03:26:36 字数 286 浏览 0 评论 0原文

给定一个指向单链表上的中间节点(非头、非尾)的指针。如何在给定指针指向的节点之前插入新节点?

例子, 给定单链表:

  A -> B -> C -> D -> E 

给定一个指向C的指针(ptr = &C),和一个新节点F,如何获得

 A -> B -> F -> C -> D -> E 

注意:我们没有指向A的指针。

谢谢

Given a pointer that points to an intermediate node (non-head, non-tail) on a single-link list . How to insert a new node just before the node pointed to by the given pointer ?

Example,
Given single-linked list:

  A -> B -> C -> D -> E 

Given a pointer pointed to C (ptr = &C), and a new node F, how to get

 A -> B -> F -> C -> D -> E 

Attention: we do not have pointers pointed to A.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

罪歌 2024-12-19 03:26:36

您应该能够通过在右侧插入一个新的 C 节点并在初始 C 节点的数据字段中写入 F 来实现此目的。

You should be able to implement this by inserting a new C node to the right, and writing F in the data field of the initial C node.

攒一口袋星星 2024-12-19 03:26:36

显然,这是不可能的。如果您需要该功能,请使用双向链表。否则,总是传递一个指向列表头部的指针。

Obviously, It can't be done. If you need that capability, use a doubly-linked list. Otherwise, always pass along a pointer to the head of the list.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文