本文整理汇总了C#中IGraph.SetVisited方法的典型用法代码示例。如果您正苦于以下问题:C# IGraph.SetVisited方法的具体用法?C# IGraph.SetVisited怎么用?C# IGraph.SetVisited使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IGraph
的用法示例。
在下文中一共展示了IGraph.SetVisited方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Mark
/// <summary>
/// Mark the elements of the match in the graph with a visited flag.
/// Allocates a visited flag.
/// </summary>
/// <param name="match">The match to mark in the graph with a visited flag</param>
/// <param name="graph">The graph in which the match was found, needed for visited flag access</param>
/// <returns>The visited flag id, for later checks and the unmarking</returns>
private static int Mark(IMatch match, IGraph graph)
{
int id = graph.AllocateVisitedFlag();
for(int i = 0; i < match.NumberOfNodes; ++i)
graph.SetVisited(match.getNodeAt(i), id, true);
for(int i = 0; i < match.NumberOfEdges; ++i)
graph.SetVisited(match.getEdgeAt(i), id, true);
return id;
}
示例2: Unmark
/// <summary>
/// Unmark the elements of the match in the graph, regarding the given visited flag.
/// Deallocates the visited flag.
/// </summary>
/// <param name="match">The match to mark in the graph with a visited flag</param>
/// <param name="graph">The graph in which the match was found, needed for visited flag access</param>
/// <param name="id">The visited flag id</param>
private static void Unmark(IMatch match, IGraph graph, int id)
{
for(int i = 0; i < match.NumberOfNodes; ++i)
graph.SetVisited(match.getNodeAt(i), id, false);
for(int i = 0; i < match.NumberOfEdges; ++i)
graph.SetVisited(match.getEdgeAt(i), id, false);
graph.FreeVisitedFlagNonReset(id);
}