c++ - 在C++中的for循环内为链表生成节点

标签 c++

我正在尝试为for循环内的链表生成节点。我已经定义了头,尾和临时节点(用于存储数据)的节点。但是,当我将它包含在for循环中并打印结果时,它不会返回任何内容。关于如何改进代码的任何建议?

private:
    Node *head;
    Node *tail;
}; 

最佳答案

如果要创建100个节点的列表,则需要分配100个节点,而不仅仅是一个。像这样在循环内移动new Node

void createNode(int value)
{
    for (int i = 0; i<100; i++) {

        node *temp = new Node;
        temp->data = i;
        temp->next = nullptr;

        if (head == nullptr)
        {
            head = temp;
            tail = temp;
        }
        else
        {   
            tail->next = temp;
            tail = temp;
        }
    }

当然,在名为createNode的函数中分配100个节点也不是一个好主意,但是我想您只是在做实验。

关于c++ - 在C++中的for循环内为链表生成节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61438939/

相关文章:

c++ - 存储一个函数c++,稍后调用

c++ - 如何在 C++ 中调用外部模板函数

c++ - 如何阅读和理解 C & C++ 标准以及其中使用的语言语法?

c++ - 加载大型文本文件(50,000 多行,~8MB)会导致我的程序停止?

c++ - 变量不断在循环内重新初始化?

c++ - boost 日志到文件不起作用

c++ - "redefinition"是什么意思?

c++ - 如何在嵌套类中重载 << 运算符

c++将函数传递给线程池

C++ 系统不使用 "source files"