繁体   English   中英

如何从顶点创建图形?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM