gpt4 book ai didi

c++ - 将节点添加到单链表中

转载 作者:行者123 更新时间:2023-11-30 02:57:15 25 4
gpt4 key购买 nike

我正在尝试学习链表。我刚刚编写了一个说明链表的程序,但它似乎不起作用。这是代码:

#include <iostream>
using namespace std;

struct node
{
int data;
node* next;
};

int main(int argc, const char * argv[])
{
node* trav;
node* root;
root = new node;

trav = root;

trav -> data = 4;
trav -> next = new node;

trav -> data = 5;
trav -> next = new node;

trav -> data = 6;
trav -> next = 0;
trav = root;

while (trav!=0) {
std::cout<<trav->data;
trav=trav->next;
}
}

我希望 root 指向第一个节点,但它似乎在我们进一步进入程序时复制 trav 的数据。知道哪里出了问题吗?
谢谢

最佳答案

在这段代码中:

trav = root;

trav -> data = 4;
trav -> next = new node;

trav -> data = 5;
trav -> next = new node;

您没有更改 trav 指针,这意味着您正在覆盖它的成员。通过调用 trav->next = new node; 创建新节点后,您应该通过调用“移动”到下一个节点:

trav = trav-> next;

关于c++ - 将节点添加到单链表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14798797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com