【发布时间】:2020-10-08 09:46:12
【问题描述】:
我想填充然后返回集合向量的向量。换句话说,一个包含一组数字的矩阵。 我声明:
#include<iostream>
#include<set>
#include<vector>
vector<int> row = vector<int>(4);
vector<vector<int>> matrix = vector<vector< int>>(4, row)
如果它是一个向量的向量,我会写vector<vector<vector<int>>> v = vector<vector<vector<int>>>(4, matrix)。
也许可以为 vec 的集合写 vector<vector<set<int>>> v; 。但我会将set<int> 放入matrix。
这是一个 4x4 矩阵,其中包含 4 个可能的数字。我正在尝试使用 v[i][j].insert(f) 从 0 到 4 迭代 f 来填充从 1 到 4 的数字 v。
如何返回打印所有数字的矩阵? 我希望是这样的:
1234123412341234
1234123412341234
1234123412341234
1234123412341234
补充问题
如何访问和删除矩阵元素中的数字?
例如,我想访问第二行和第三列。我有1234,我想删除这 4 个数字中的 3 个。假设我只想在matrix[2][3] 中写1。
我认为它类似于v[2][3].find(1),但我不太确定。
请不要建议我使用其他 stl 容器。 我唯一可以使用的其他 stl 是向量、set 或 map 以及 unordered_set 或 map。
【问题讨论】:
-
This 可能有用。尝试首先声明一个适当的矩阵(如果需要,可以在其中包含集合),然后将它们放在一起,我认为这样会更清楚,你会编写更具可读性的代码