嵌套范围为循环,用于在向量中迭代



考虑下面的代码片段,它适用于运行良好的程序。

如您所见,它使用2个嵌套的for循环来迭代vectorvector

#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是否也可以替换为ranged for?如果是,如何?

for (auto& edge : adjacency_list){
// cout << "List[" << index << "]: ";
for (auto element : edge)
cout << element << ", ";
cout << ".n";
}

它是否使代码更简单?这取决于你自己,因为你现在错过了每条边的索引。IMO,它更简单/代码更少,因此理解起来更少思考。

最新更新