本文整理汇总了C#中System.Edge.OrderBy方法的典型用法代码示例。如果您正苦于以下问题:C# Edge.OrderBy方法的具体用法?C# Edge.OrderBy怎么用?C# Edge.OrderBy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Edge
的用法示例。
在下文中一共展示了Edge.OrderBy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Kruskal
private static IEnumerable<Edge> Kruskal(Vertex[] nodes, Edge[] edges)
{
var workingEdges = new Queue<Edge>(edges.OrderBy(e => e.Cost).ToArray());
var forest = MakeSet(nodes).ToArray();
Console.WriteLine("Forest: {0}", string.Join<Tree>("|", forest));
while (1 < forest.Count())
{
var edge = workingEdges.Dequeue();
var vtrees = TreesWith(edge.Ends[0], forest).ToArray();
var utrees = TreesWith(edge.Ends[1], forest).ToArray();
if (0 < vtrees.Length && 0 < utrees.Length)
{
forest = MakeUnions(vtrees, utrees, edge, forest).ToArray();
Console.WriteLine("Forest: {0}", string.Join<Tree>("|", forest));
}
}
return forest.First().Edges;
}