Пример #1
0
        /// <summary>
        /// Deletes a vertex in the list of avaialable vertices associated with the graph.
        /// </summary>
        /// <param name="index"></param>
        public void DeleteVertex(int index)
        {
            SGLNode <T> toDelete = Vertices.Get(index);

            for (int i = 0; i < Vertices.Length(); i++)
            {
                for (int j = 0; j < Vertices.Get(i).GetAdjacencyList().Length(); j++)
                {
                    if (Object.ReferenceEquals(Vertices.Get(i).GetAdjacencyList().Get(j), toDelete))
                    {
                        Vertices.Get(i).GetAdjacencyList().Delete(j);
                    }
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Deletes an SGLNode with the reference to the given SGLNode.
 /// Returns true if and only if a SGLNode of the same reference is deleted.
 /// </summary>
 /// <param name="index"></param>
 public bool DeleteNode(SGLNode <T> SGLNode)
 {
     for (int i = 0; i < AdjacencyList.Length(); i++)
     {
         if (Object.ReferenceEquals(AdjacencyList.Get(i), SGLNode))
         {
             AdjacencyList.Delete(i);
             return(true);
         }
     }
     return(false);
 }