执行数独网格的表示,并使用向量向量,其中每个网格都是一个集合。基本上我希望有矢量矢量来表示网格。每个方格都可能是一组(1-9)的值。我将如何首先设置向量的大小?然后我将如何从矢量矢量中打印出值。
我的矢量变量:
vector<vector<set<int>>> myVector;
答案 0 :(得分:0)
编程中非常重要的是简化您的任务。您必须重新思考您想要做什么,您想如何做以及为什么使用这个解决方案来解决您的问题。
在你的情况下(基于问题),没有必要使用这种复杂的嵌套容器,只需使用例如2个dimmensional数组。
关于集合的迭代,你可以使用for-each循环:
//declaring container with base size 10
std::vector<std::vector<int>> container(5);
//for-each loop, nice way to iterate over collections
for(auto& c: container) {
for(int i = 0; i < 5; i ++) {
c.push_back(i);
}
}
//printing
for(auto& c : container) {
for(auto& v : c) {
std::cout << v << " ";
}
std::cout << std::endl;
}