代码实现
#include <iostream>
struct Node {
int data;
Node* next;
};
void insertAtBeginning(Node*& head, int newData) {
Node* newNode = new Node;
newNode->data = newData;
newNode->next = head;
head = newNode;
}
void insertAfterNode(Node* prevNode, int newData) {
if (prevNode == nullptr) {
std::cout << "Previous node cannot be null." << std::endl;
return;
}
Node* newNode = new Node;
newNode->data = newData;
newNode->next = prevNode->next;
prevNode->next = newNode;
}
void displayList(Node* head) {
Node* currentNode = head;
while (currentNode != nullptr) {
std::cout << currentNode->data << " ";
currentNode = currentNode->next;
}
std::cout << std::endl;
}
int main() {
Node* head = nullptr;
insertAtBeginning(head, 3);
insertAtBeginning(head, 2);
insertAtBeginning(head, 1);
std::cout << "链表内容:";
displayList(head);
Node* secondNode = head->next;
insertAfterNode(secondNode, 4);
std::cout << "插入节点后的链表内容:";
displayList(head);
return 0;
}