输出邻接表C++代码
时间: 2023-07-11 21:19:00 浏览: 71
邻接表是一种表示图的数据结构,其中每个节点都存储与其相邻的节点的列表。以下是使用 C++ 实现邻接表的代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
class Graph {
private:
int V; // 图的顶点数
vector<int> *adj; // 存储邻接表的 vector 数组
public:
Graph(int V) {
this->V = V;
adj = new vector<int>[V];
}
void addEdge(int v, int w) {
adj[v].push_back(w); // 将 w 加入到 v 的邻接表中
}
void printAdjList() {
for (int v = 0; v < V; ++v) {
cout << v << " 的邻接表: ";
for (auto w : adj[v]) {
cout << "-> " << w;
}
cout << endl;
}
}
};
int main() {
Graph g(5);
g.addEdge(0, 1);
g.addEdge(0, 4);
g.addEdge(1, 2);
g.addEdge(1, 3);
g.addEdge(1, 4);
g.addEdge(2, 3);
g.addEdge(3, 4);
g.printAdjList();
return 0;
}
```
输出结果为:
```
0 的邻接表: -> 1-> 4
1 的邻接表: -> 2-> 3-> 4
2 的邻接表: -> 3
3 的邻接表: -> 4
4 的邻接表:
```
其中,每个节点的邻接表用 "->" 分隔。例如,节点 1 的邻接表为 "-> 2-> 3-> 4"。
阅读全文