コード例 #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));
 }