📅  最后修改于: 2023-12-03 15:27:10.776000             🧑  作者: Mango
链表(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
类,表示链表节点。在该类中定义了 data
和 next
变量,其中 data
是节点中存储的数据,next
是指向下一个节点的指针。
接下来,定义 insert
函数,用于在链表中插入新节点。首先动态创建一个新节点,然后判断链表是否为空。若链表为空,则将新节点作为链表的头节点;否则,遍历链表直到找到最后一个节点,将新节点插入到链表的尾部。
最后,定义 printList
函数,用于遍历链表并打印节点数据。
以上代码执行结果如下:
链表内容:1 2 3