我是 C++ 的初学者,我一直在研究向量,而不是在 2D 向量上。我上网很多,但互联网上的数据与 2D 矢量非常具体。我需要在给定输入文件的情况下构建一个图,然后将 Kruskal 算法应用于最小生成树。
我的做法:
A1, A2, A3.....An would be the first row and col of my 2d Vectors and they will
contain name. I will read the input file and start matching the names.
And then at graph[i][j] I will put the weight.
A1 A2 A3......
A1 w w w .......
A2 w w w .......
A3 w w w .......
. . . . 现在我正在尝试这样的事情:
struct mat{
string name;
}
int main(){
vector<vector<mat>> matrix;
// In order to insert
vector<mat> tempVec;
tempVec[0].name = "stack";
matrix.push_back(tempVec);
}
现在我不知道当我这样做时tempVec[0].name
,0 表示 Matrix 的哪一行或哪一列。如果它指示行,那么我怎么知道正在访问哪个列。我的意思是vector.push_back(tempVec)
,将我的矩阵中的哪个位置分配给数据。我知道我可以访问像 Matrix[i][j] 这样的单个元素。但是我怎样才能将权重分配给特定的行、列位置然后访问它。
此外,您认为 Kruskal 方法将是一个很好的实现。
请在您的代码和解释中保持简单。并提前感谢。