如何将第一个节点移动到链表c ++中列表的末尾

时间:2015-05-09 21:43:28

标签: c++ data-structures linked-list

我想把链表的第一个节点放到它的末尾, 但到目前为止,我无法做到。

我的想法是创建一个包含第一个节点信息的新节点,然后删除第一个节点,然后将新节点添加到列表的末尾。

这是我的代码,但它不起作用,因为我无法访问列表中的开始指针,因为它是私有的:

Newnode-> = list.start->next->info;
list.RemoveFront();     //a function to remove the first node.
list.AddBack(Newnode);  //a function to add the element to the end of the list.

1 个答案:

答案 0 :(得分:1)

你是认真的吗?

有两种情况:

  1. 您的链接列表指向最后一个链接(非常有用)
  2. 或者你没有。
  3. 如果您没有指向最后一个节点的指针,请遍历该列表并创建一个。

    以下是操作:

    1. Temp指向第一个节点。
    2. 改变头指向第二节点。
    3. 将Temp节点设置为指向nil或null。
    4. 使最后一个节点指向临时节点。
    5. 使Tail指针指向临时节点。
    6. 请把它画出来。在绘制链接列表时,它们总是更容易理解。