コード例 #1
0
 public void Remove(Node node)
 {
     Nodes.Remove(node);
     //Set succ/pred of succ/pred nodes
     foreach (Node predecessor in node.Predecessors)
     {
         foreach (Node successor in node.Successors)
         {
             predecessor.AddSucc(successor);
         }
     }
     //Remove node from succ/pred lists
     for (int i = node.Predecessors.Count - 1; i >= 0; i--)
     {
         Node predecessor = node.Predecessors[i];
         node.RemovePred(predecessor);
     }
     for (int i = node.Successors.Count - 1; i >= 0; i--)
     {
         Node successor = node.Successors[i];
         node.RemoveSucc(successor);
     }
 }
コード例 #2
0
 public void RemoveSucc(Node node)
 {
     if (Successors.Contains(node))
     {
         Successors.Remove(node);
         node.RemovePred(this);
     }
 }