考虑以下代码片段,该代码片段运行良好。
如您所见,它使用 2 个嵌套的
for
循环来迭代 vector
的 vector
:
#define VERTEXES 10
vector<int> adjacency_list[VERTEXES];
for ( int index = 0; index < VERTEXES; index++ ){
cout << "List[" << index << "]: ";
for (auto element : adjacency_list[index])
cout << element << ", ";
cout << ".\n";
}
第一个
for
是否也可以替换为范围for
,以便使代码更简单?如果是的话,怎么办?
如果它使代码变得更复杂,我不感兴趣,谢谢。但是,在这种情况下,欢迎解释为什么它不能使代码更简单!
是否可以将第一个 for 也替换为范围 for,以使代码更简单?如果是的话,怎么办?
是的
for (auto& edge : adjacency_list){
// cout << "List[" << index << "]: ";
for (auto element : edge)
cout << element << ", ";
cout << ".\n";
}
它是否使代码更简单?这由您决定,因为您现在缺少每条边的索引。 IMO,它更简单/更少的代码,因此需要更少的思考来理解。