2017-04-24 52 views
0

我很初学,我有编码链表的经验。为了实现它,我必须使用指针到下一个节点:链接图的顶点

struct Node{ 
int value; 
Node* next; 
}; 

我理解的想法。但是,如果谈论图表呢?例如,我需要将某个节点链接到另一个点,而不仅仅是链接列表中的一个节点。如何将节点与其他点链接,而不仅仅是一个?

+0

看看[邻接列表](https://www.khanacademy.org/computing/computer-science/algorithms/graph-representation/a/representing-graphs) – 0x499602D2

回答

1

由于单个节点可以链接到许多节点,因此您需要扩展结构以获取指针列表而不是单个指针。例如:

struct Node{ 
    int value; 
    std::list<Node*> links; 

};

上面的例子使用std :: list。该列表是指向节点对象的指针列表。

0

您可以使用这样的节点列表:

struct Node{ 
    int value; 
    list<Node> listNode; 
}; 

,或者你可以使用这样的节点的指针列表:

struct Node{ 
    int value; 
    list<Node*> listNode; 
}; 

两者都可以使用,只是取决于什么您需要