我想替换我的 BidirectionalGraph 的顶点的值或顶点本身。图表本身不应改变。这意味着连接到顶点的所有边在我更改它的值后都保持连接到顶点。如果他们在快速图中没有简单的方法来接近它,我会感到惊讶。
我的代码很长,所以我尝试用示例代码来描述它。
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(示例)