采用邻接表创建无向图G ,依次输出各顶点的度。 输入格式: 输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶点数和边数。 输入第二行为顶点的信息,每个顶点只能用一个字符表示。 依次输入j行,每行输入一条边依附的顶点。用c++实现
时间: 2024-05-07 17:21:04 浏览: 88
以下是采用邻接表创建无向图G,输出各顶点度数的C++代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
struct Node {
char val; // 顶点的信息
vector<int> neighbors; // 邻接顶点的编号
};
int main() {
int n, m;
cin >> n >> m;
vector<Node> graph(n); // 邻接表
// 输入顶点信息
for (int i = 0; i < n; i++) {
cin >> graph[i].val;
}
// 输入边信息
for (int i = 0; i < m; i++) {
int u, v;
cin >> u >> v;
graph[u].neighbors.push_back(v);
graph[v].neighbors.push_back(u);
}
// 输出各顶点度数
for (int i = 0; i < n; i++) {
int degree = graph[i].neighbors.size();
cout << graph[i].val << " " << degree << endl;
}
return 0;
}
```
输入样例:
```
5 5
A B C D E
0 1
0 2
1 2
2 3
3 4
```
输出样例:
```
A 2
B 2
C 3
D 2
E 1
```
阅读全文