[英]How to create graph from vertex?
我有一个已连接顶点的列表。
我的问题是如何创建和存储代表此列表的图形?
例如
5 2 4 5 1 3 4 2 4 5 1 2 3 5 1 3 4
1连接到2,4,5
2-> 1,3,4
等等..
这是2个(相同)表示形式。
我的第二个问题是如何获取该图的所有表示形式(在该图像中,我显示了2,它们是相同的)。对于一个顶点列表,仅存在一个图形表示形式? 如果更多,如何获得所有这些?
在图像上它们是相同的,不同的图纸。
5 means how many lines
1 > 2, 4, 5
2 > 1, 3, 4
3 > 2, 4, 5
4 > 1, 2, 3, 5
5 > 1, 3, 4
(我很傻,所以我需要在记事本中键入)。
#include <stdio.h>
class Cl_Graph;
class Cl_Chain;
class Cl_Vertex
{
friend Cl_Graph;
private:
Cl_Chain* mp_linkedTo;
Cl_Vertex();
void f_addLink(Cl_Vertex* in_link);
};
Cl_Vertex::Cl_Vertex()
{
mp_linkedTo= NULL;
}
class Cl_Graph
{
private:
int m_size;
Cl_Vertex* pm_vertexTable;
public:
Cl_Graph(int in_size);
void f_addLink(int in_index, int in_linkWith);
};
Cl_Graph::Cl_Graph(int in_size)
{
pm_vertexTable= new Cl_Vertex[m_size= in_size];
}
void Cl_Graph::f_addLink(int in_index, int in_linkWith)
{
if (in_index< m_size && in_linkWith< m_size)
{
pm_vertexTable[in_index].f_addLink(pm_vertexTable[in_linkWith]);
}
}
int main(int argc, char** argv)
{
Cl_Graph graph(5);
graph.f_addLink(1, 2);
graph.f_addLink(1, 4);
graph.f_addLink(1, 5);
// ...
return 0;
}
您可以从这样的东西开始。 您甚至可以键入一个函数,该函数将一连串的顶点作为参数添加到图形中,而不是数组,它可以具有一连串的链接链:p祝您好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.