问题描述
这里是初学者,我正在实现一个邻接列表来表示 C++ 中的图形,但我在概念上被困在下面的代码片段中。
void addEdge(vector<int> adj[],int s,int d) {
adj[s].push_back(d);
adj[d].push_back(s);
}
vector<int> adj[]
将包含所有节点的列表
我的问题是我们有 1D 向量 adj[],我们如何能够在 adj[] 的单单元格/索引中推送多个元素,这不需要像 {{1 }}
通过推送我想澄清的多个元素,该特定节点的相邻顶点将被推送到该特定索引中
完整代码::
vector<vector<int>> adj[];
输出:
// Adjacency List representation in C++
#include <bits/stdc++.h>
using namespace std;
// Add edge
void addEdge(vector<int> adj[],int d) {
adj[s].push_back(d);
adj[d].push_back(s);
}
// Print the graph
void printGraph(vector<int> adj[],int V) {
for (int d = 0; d < V; ++d) {
cout << "\n Vertex "
<< d << ":";
for (auto x : adj[d])
cout << "-> " << x;
printf("\n");
cout << "\nsize=" << adj[d].size()<<"\n";
}
}
int main() {
int V = 5;
// Create a graph
vector<int> adj[V];
// Add edges
addEdge(adj,1);
addEdge(adj,2);
addEdge(adj,3);
addEdge(adj,1,2);
printGraph(adj,V);
cout << "\n\nmatrix cell"
<< adj[0][2];
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)