繁体   English   中英

"在 C++ 中使用向量的向量(2D 向量)表示邻接表"

[英]Adjacency list representation using vector of vectors(2D vector) in C++

我们可以使用像vector<int> adj[10];<\/code> 我们可以按如下方式填充该向量:

main(){
int x,y,nodes,edges;
cin>>nodes>>edges;
for(int i=0;i<edges;i++){
cin>>x>>y;
adj[x].push_back(y); //Insert y in adjacency list of x
}
}

假设x的最大值可能是n
首先,您必须使用n个1D向量初始化2D向量。
然后,您可以像在示例中一样执行操作。

vector<vector<int> >g;
for(int i = 0; i<n; i++)
{
    vector<int>v;
    g.push_back(v);
}

g[0].push_back(3);
g[1].push_back(5);
cout<<g[0][0]<<endl;
cout<<g[1][0]<<endl;

或者,您可以在声明时初始化向量。

vector<vector<int> >g(n);

g[0].push_back(3);
g[1].push_back(5);
cout<<g[0][0]<<endl;
cout<<g[1][0]<<endl;

矢量<矢量> g(节点,矢量());

g[0].push_back(3); g[1].push_back(5);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM