如何从顶点创建图形?

时间:2015-03-24 05:38:35

标签: c++ opengl graph

我有一个连接的顶点列表。

我的问题是如何创建和存储代表此列表的图表?。

例如

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个(相同)表示。 enter image description here

我的第二个问题是如何获得该图的所有表示(在此图中我显示2,它们是相同的) 对于一个顶点列表,只存在一个图形represantation?如果更多,如何获得所有这些?

在图像中它们是相同的,不同的图纸。

1 个答案:

答案 0 :(得分:1)

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祝你好运!