这行是什么意思(在cpp上下文中)list[i].push_back(adj[i][j])



这行是什么意思:list[i].push_back(adj[i][j](

vector<vector<int>>printGraph(int V, vector<int> adj[])
{
vector<vector<int>>list(V);
for(int i=0;i<V;i++)
{
list[i].push_back(i);
for(int j=0;j<adj[i].size();j++)
{
list[i].push_back(adj[i][j]);
}
}
return list;
}

在您的例子中,adj是指向向量的指针(在这种情况下,我怀疑它应该被视为二维数组(,而list只是向量中的一个向量,因此是二维数组。list[i]只是对阵列list的第i行的引用,adj[i][j]是对存储在二维阵列adj的单元[i][j]中的值的引用。push_back方法简单地将传递的值添加到相应向量的末尾,这意味着表达式list[i].push_back(adj[i][j]);将简单地将存储在单元adj[i][j]中的值添加在行list[i]的末尾

定义一个函数,该函数返回嵌套向量作为输出。变量列表在函数中被定义为嵌套向量,作为一般的解释,我可以说二维数组表示为向量的向量,以及内部对等向量第一位置的行索引。声明:

list[i].push_back(adj[i][j]);

将二维数组的元素添加到内部向量ith。pushback方法在向量的末尾添加一个元素。

list[i].push_back(adj[i][j](这里的列表是要存储邻接列表的向量中的向量(2D数组(。示例-列表[1]=[2,3]

list[2]=[1,3]

list[3]=[1,2]

最新更新