c++怎么将文件中的数据存到链表中
时间: 2024-03-24 09:37:42 浏览: 136
要将文件中的数据存储到链表中,你需要完成以下步骤:
1. 定义链表的节点结构体,包含数据域和指向下一个节点的指针域。
2. 打开文件,逐行读取文件中的数据。
3. 将读取到的数据存储到链表节点的数据域中。
4. 创建新的链表节点,并将前一个节点的指针域指向新的节点。
5. 重复步骤3和步骤4,直到文件中的数据全部读取并存储到链表中。
以下是一个简单的示例代码,可以将文件中的整数数据存储到链表中:
```c++
#include <iostream>
#include <fstream>
using namespace std;
struct Node {
int data;
Node* next;
};
int main() {
Node* head = nullptr;
Node* current = nullptr;
ifstream inputFile("data.txt");
if (!inputFile.is_open()) {
cout << "Failed to open file." << endl;
return 0;
}
int value = 0;
while (inputFile >> value) {
Node* newNode = new Node;
newNode->data = value;
newNode->next = nullptr;
if (current == nullptr) {
head = newNode;
current = newNode;
} else {
current->next = newNode;
current = newNode;
}
}
inputFile.close();
// 遍历链表,输出数据
current = head;
while (current != nullptr) {
cout << current->data << " ";
current = current->next;
}
cout << endl;
// 释放链表内存
current = head;
while (current != nullptr) {
Node* temp = current;
current = current->next;
delete temp;
}
return 0;
}
```
在这个示例代码中,我们定义了一个名为 `Node` 的结构体,包含一个整数数据域 `data` 和一个指向下一个节点的指针域 `next`。然后,我们打开名为 `data.txt` 的文件,并逐行读取其中的整数数据。每次读取到一个整数数据,就创建一个新的链表节点,并将读取到的整数数据存储到节点的数据域中。然后,我们根据当前节点的指针是否为空,将新节点作为链表的头结点或者将其添加到链表的末尾。最后,我们遍历链表,并输出其中的数据。最后,我们释放链表内存,避免内存泄漏。
阅读全文