struct Node
{
Link *incomingEdge, *outgoingEdge;
};
struct Link
{
Node *origin, *destination;
};
在我的代码中,每个节点只有一个传入和传出的边缘。但是,节点可能具有几个事件边缘。此外,每个节点的事件边缘数可能会更改。
如何为每个节点生成不同数量的指针?
我拥有的Assume;NODEA,有5个传入的边缘和4个传出的边缘。 NODEB具有3个传入边缘和6个传出边缘。
因此,每个节点的指针数量都在更改。
使用指针的向量
std::vector<Link *> incomingEdge;
它取决于您的需求。该图完全由边缘列出,因此简单的答案是,从节点定义省略了。 但是,对于您将要实现的算法,链接列表或相邻节点的适当容器可能会更好。