示例#1
0
文件: Vertex.cs 项目: backarnet/Graph
 public void AddEdge(Vertex vertex)
 {
     if (!HasEdge(vertex) && !vertex.HasEdge(this))
     {
         Edgs.Add(vertex);
         vertex.Edgs.Add(this);
     }
     else
     {
         throw new Exception("Edge already added!");
     }
 }
示例#2
0
文件: Vertex.cs 项目: backarnet/Graph
 public void DeleteEdge(Vertex vertex)
 {
     if (HasEdge(vertex) || vertex.HasEdge(this))
     {
         Edgs.Remove(vertex);
         vertex.Edgs.Remove(this);
     }
     else
     {
         throw new Exception("Edge not found!");
     }
 }
示例#3
0
文件: Vertex.cs 项目: backarnet/Graph
 public List <Vertex> GetNotVisitedVertices()
 {
     return(Edgs.Where(v => v.visited == false).ToList());
 }
示例#4
0
文件: Vertex.cs 项目: backarnet/Graph
 public int GetDegree()
 {
     return(Edgs.Count());
 }
示例#5
0
文件: Vertex.cs 项目: backarnet/Graph
 public bool HasEdge(Vertex vertex)
 {
     return(Edgs.Contains(vertex));
 }