在Quickgraph(C#)中替换顶点

时间:2018-11-02 14:02:52

标签: c# replace quickgraph

我想替换BidirectionalGraph的顶点值或顶点本身。图形本身不应更改。这意味着在我更改顶点的值之后,所有与顶点连接的边都保持与顶点的连接。 如果他们在quickgraph中没有轻松的方法来解决这个问题,我将感到惊讶。

我的代码很长,因此我尝试用示例代码来描述它。

    private class GraphValues
    {
        public int Index;
        public string Name;

        public GraphValues(string name, int index)
        {
            Name = name;
            Index = index;
        }
    }

    private BidirectionalGraph<GraphValues, Edge<GraphValues>> GenerateTestGraph()
    {
        BidirectionalGraph<GraphValues, Edge<GraphValues>> testGraph = new BidirectionalGraph<GraphValues, Edge<GraphValues>>();
        GraphValues A = new GraphValues("A", -1);
        GraphValues B = new GraphValues("B", -1);
        GraphValues C = new GraphValues("C", -1);
        GraphValues AB = new GraphValues("AB", -1);
        GraphValues ABC = new GraphValues("ABC", -1);

        testGraph.AddVerticesAndEdge(new Edge<GraphValues>(A, AB));
        testGraph.AddVerticesAndEdge(new Edge<GraphValues>(B, AB));
        testGraph.AddVerticesAndEdge(new Edge<GraphValues>(B, ABC));
        testGraph.AddVerticesAndEdge(new Edge<GraphValues>(AB, ABC));
        testGraph.AddVerticesAndEdge(new Edge<GraphValues>(C, ABC));

        return testGraph;
    }

此处的函数GenerateTestGraph()仅生成一个简单的示例图。我的目的是更改图中某些顶点值的索引值。因此,我想生成一些函数来更改图形的值。他们是这样做的简单方法吗?还是我必须使用新索引重新生成图形本身?

所以我改变了这个图: Inputgraph (example)

进入这个: Outputgraph (example)

0 个答案:

没有答案