public void AddEdgeTo(Node node) { if (node.Graph != Graph) { throw new ArgumentException(); } if (Nodes.Contains(node)) { return; } Nodes.Add(node); Nodeflags.Add(false); node.Nodes.Add(this); node.Nodeflags.Add(false); }
public bool RemoveEdgeTo(Node node) { if (node.Graph != Graph) { throw new ArgumentException(); } if (!Nodes.Contains(node)) { return(false); } Nodeflags.RemoveAt(Nodes.IndexOf(node)); Nodes.Remove(node); node.Nodeflags.RemoveAt(node.Nodes.IndexOf(this)); node.Nodes.Remove(this); return(true); }