c++如何从文件中读取图的数据
时间: 2024-05-11 09:19:26 浏览: 102
C++中可以使用标准库中的fstream头文件中的ifstream类来读取文件中的数据。以下是一个简单的示例代码,用于从文件中读取图的数据:
```c++
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream fin("graph.txt"); // 打开文件
int n, m;
fin >> n >> m; // 读取图的节点数和边数
vector<vector<int>> graph(n + 1); // 用邻接表表示图
for (int i = 0; i < m; i++) {
int u, v;
fin >> u >> v;
graph[u].push_back(v); // 添加边
graph[v].push_back(u); // 添加边
}
fin.close(); // 关闭文件
return 0;
}
```
在上面的代码中,我们首先使用ifstream类打开文件,然后使用其提供的输入运算符重载来读取文件中的数据。在这个特定的示例中,我们假设文件的第一行包含两个整数,分别表示图的节点数和边数。接下来的m行中,每一行包含两个整数u和v,表示图中的一条边。最后,我们使用vector<vector<int>>类型的邻接表来表示图。在读取完文件中的所有数据后,我们使用ifstream类的close()函数关闭文件。
阅读全文