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

What does this line means(in cpp context) 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 是一个指向 vector(and in this case, I suspect it should be taken as a two-dimensional array), and list is just a vector of vectors, and therefore a two-dimensional array. list[i] is simply a reference to the i-th row of the array list, adj[i][j] is a reference to the value stored in cell [i][j] of the two-dimensional array adj. The push_back 方法的指针,只是将传递的值添加到相应向量的末尾,这意味着表达式 list[i].push_back(adj[i][j]); 将简单地添加存储在单元格 adj[i][j] 到行尾 list[i]

的值

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

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

将二维数组的元素添加到第i个内向量。 push_back 方法向向量末尾添加一个元素。

list[i].push_back(adj[i][j]); 这里的列表是向量的向量(二维数组),它将存储邻接列表。 示例- 列表[1] = [2,3]

列表[2] = [1,3]

列表[3] = [1,2]