如何到达“链接”列表中的第N个节点?

时间:2019-12-27 13:08:44

标签: c++ list insertion

我想解释一下如何到达链表中的第N个节点,以便在第N个节点之后插入节点。我有这段代码,并且在第n个节点之后插入节点的功能由< / p>

Linkify.addLinks(TextView,Linkify.ALL)
我在如何在驱动程序主函数中调用函数InsertAfter时遇到问题,即如果我必须转到磁头旁边的节点,我可能会写为InsertAfter,但是写{{ 1}}来使元素超出第二个节点。
是否有任何简单的方法可以帮助我不必为每个要跳转到下一个节点的节点写head -> next
例如->如果我必须在7之后插入节点,我必须写next -> next,但是有什么简单的方法不需要一次又一次地next

head-> next-> next

2 个答案:

答案 0 :(得分:2)

要到达第N个节点,请遵循链接,递减计数器,直到计数器为零或到达列表的末尾:

Node * at(unsigned int index)
{
  Node * p = head;
  while (p && (index != 0))
  {
    p = p->next;
    --index;
  }
  return p;
}

答案 1 :(得分:0)

“如何到达链接列表中的第N个节点,以便在该第N个节点之后插入一个节点”-遍历列表,直到到达第N个节点为止。然后插入。