public void forEachNodes_Sorted(OrderValueFun orderFun, NodeFun fun) { List <int> orders = new List <int>(); foreach (var n in nodes) { bool bFound = false; foreach (var o in orders) { if (o == orderFun(n.Value)) { bFound = true; break; } } if (!bFound) { orders.Add(orderFun(n.Value)); } } orders.Sort(); foreach (var o in orders) { foreach (var n in nodes) { if (orderFun(n.Value) == o) { fun(n.Value); } } } }
public void forEachNodes(NodeFun fun) { foreach (var n in nodes) { fun(n.Value); } }