动态链表的每个结点包括一个整数和一个后继指针。用C++编写过程完成如下操作: 1) 从键盘输入数据建立链表,并按数据的输入顺序建立链表。 2) 依次打印其中各结点的数据。
时间: 2024-12-14 07:27:22 浏览: 8
动态链表是一种动态存储结构,它的节点可以在运行时动态地分配和释放内存。以下是使用C++实现上述操作的一个简单示例:
```cpp
#include <iostream>
using namespace std;
// 定义链表节点结构体
struct Node {
int data;
Node* next; // 后继指针
};
// 创建新节点并插入到链表尾部
Node* createNode(int value) {
Node* newNode = new Node();
newNode->data = value;
newNode->next = nullptr; // 如果是头节点,next为nullptr
return newNode;
}
// 将输入的数据添加到链表
void insertIntoLinkedList(Node*& head, int value) {
if (head == nullptr) {
head = createNode(value);
} else {
Node* temp = head;
while (temp->next != nullptr) {
temp = temp->next;
}
temp->next = createNode(value);
}
}
// 打印链表中的所有节点
void printLinkedList(Node* head) {
Node* temp = head;
while (temp != nullptr) {
cout << temp->data << " ";
temp = temp->next;
}
cout << endl;
}
int main() {
Node* head = nullptr;
// 1) 输入数据并构建链表
int input;
cout << "请输入一组整数,输入0结束:";
while (cin >> input && input != 0) {
insertIntoLinkedList(head, input);
}
// 2) 打印链表
cout << "链表中的元素:";
printLinkedList(head);
return 0;
}
```
在这个程序中,我们首先创建了一个空的链表`head`。然后,在主循环中,从键盘获取用户输入,将每个输入值作为新节点添加到链表尾部。当输入值为0时,表示输入结束,然后打印整个链表。
阅读全文