所以我在学习存储库和图,所以我发现图可以表示为列表的向量,可以是这样的,其中12,3,4,5,6是顶点,从顶点1我可以转到数字2,从3到6,等等。
1 2 3 4 5 6
2 6 1 2
2但是,我已经将这些值保存在向量列表中,我如何遍历它才能获得图形呢?我的向量列表名为_verticesEdges。
例如,要获得这样的输出:
顶点1: 2
顶点2:
顶点3: 6
顶点4: 1 2
顶点5:
顶点6: 2
感谢您的帮助!
发布于 2016-11-29 18:20:34
Assuming you have stored from index 1 to n (that means size of 0th index of your vector is zero), where n is number of vertices,
for (int i = 1; i <= n; i++)
{
cout << "Vertex " << i << ": ";
for (int j=0; j< _verticesEdges[i].size(); j++)
cout << _verticesEdges[i][j] << " ";
cout << "\n";
}发布于 2016-11-29 18:14:06
像这样的东西
std::vector<std::list<int>> vecOfLists;
// fill vecOfLists;
for (size_t i = 0; i < vecOfLists.size(); ++i) {
std::cout << "Vertice " << i + 1 << ": ";
for (int num : vecOfLists[i]) {
std::cout << num << " ";
}
std::cout << std::endl;
}我使用通常的for来迭代列表,因为索引是必需的,并且使用range-based for来迭代列表,因为如果不需要索引,这是更好、更现代的遍历整个容器的方法。
https://stackoverflow.com/questions/40862509
复制相似问题