📌  相关文章
📜  用于在链表中插入节点的 C++ 程序(1)

📅  最后修改于: 2023-12-03 15:27:10.776000             🧑  作者: Mango

链表中插入节点的 C++ 程序

链表(Linked List)是一种常用于存储数据序列的数据结构。在链表中,每个节点(Node)由数据部分和指向下一个节点的指针(Pointer)组成。

在某些情况下,需要在链表中插入新的节点。下面是一个用于在链表中插入节点的 C++ 程序示例。

代码示例
#include <iostream>

using namespace std;

class Node {
public:
    int data;
    Node *next;
    Node(int x) {
        data = x;
        next = nullptr;
    }
};

void insert(Node *&head, int x) {
    Node *newNode = new Node(x); // 动态创建新节点
    if (head == nullptr) {
        head = newNode;
        return;
    }
    Node *curr = head;
    while (curr->next != nullptr) {
        curr = curr->next;
    }
    curr->next = newNode;
}

void printList(Node *head) {
    while (head != nullptr) {
        cout << head->data << " ";
        head = head->next;
    }
    cout << endl;
}

int main() {
    Node *head = nullptr;
    insert(head, 1);
    insert(head, 2);
    insert(head, 3);
    cout << "链表内容:";
    printList(head);
    return 0;
}

以上代码定义了 Node 类表示链表节点,其中 data 是节点中存储的数据,next 是指向下一个节点的指针。insert 函数用于在链表中插入新节点,printList 函数用于遍历链表并打印节点数据。

代码说明

首先,定义 Node 类,表示链表节点。在该类中定义了 datanext 变量,其中 data 是节点中存储的数据,next 是指向下一个节点的指针。

接下来,定义 insert 函数,用于在链表中插入新节点。首先动态创建一个新节点,然后判断链表是否为空。若链表为空,则将新节点作为链表的头节点;否则,遍历链表直到找到最后一个节点,将新节点插入到链表的尾部。

最后,定义 printList 函数,用于遍历链表并打印节点数据。

运行结果

以上代码执行结果如下:

链表内容:1 2 3