我有一个名为Graph的类。该类的顶点成员在那里。我已经在构造函数中初始化了顶点。此外,还有一个向量成员数组。我希望向量的数量等于顶点。例如,如果顶点= 5,则我的向量数组应如下所示。 向量v [5]; 如何在构造函数中执行此操作,因为我只会知道构造函数中的顶点值?
class Graph
{
private:
int vertices;
std::vector<int> adj[];
public:
Graph(int v); //constructor
// add an edge
void addEdge(int u, int v);
//print bfs traversal of graph
void bfs(int s); // s is a source from where bfs traversal should
//start
};
Graph :: Graph(int v)
{
vertices = v;
}
答案 0 :(得分:1)
由于只在运行时知道顶点的值,因此不能使用C样式的数组或std::array
,因为它们需要在编译时知道其大小。
您可以改用其他向量:
std::vector<std::vector<int>> adj;