52 lines
1.3 KiB
C#
52 lines
1.3 KiB
C#
using System.Collections.Generic;
|
||
|
||
/// <summary>
|
||
/// Вершина графа
|
||
/// </summary>
|
||
public class GraphVertex
|
||
{
|
||
/// <summary>
|
||
/// Название вершины
|
||
/// </summary>
|
||
public string Name { get; }
|
||
|
||
/// <summary>
|
||
/// Список ребер
|
||
/// </summary>
|
||
public List<GraphEdge> Edges { get; }
|
||
|
||
/// <summary>
|
||
/// Конструктор
|
||
/// </summary>
|
||
/// <param name="vertexName">Название вершины</param>
|
||
public GraphVertex(string vertexName)
|
||
{
|
||
Name = vertexName;
|
||
Edges = new List<GraphEdge>();
|
||
}
|
||
|
||
/// <summary>
|
||
/// Добавить ребро
|
||
/// </summary>
|
||
/// <param name="newEdge">Ребро</param>
|
||
public void AddEdge(GraphEdge newEdge)
|
||
{
|
||
Edges.Add(newEdge);
|
||
}
|
||
|
||
/// <summary>
|
||
/// Добавить ребро
|
||
/// </summary>
|
||
/// <param name="vertex">Вершина</param>
|
||
/// <param name="edgeWeight">Вес</param>
|
||
public void AddEdge(GraphVertex vertex, int edgeWeight)
|
||
{
|
||
AddEdge(new GraphEdge(vertex, edgeWeight));
|
||
}
|
||
|
||
/// <summary>
|
||
/// Преобразование в строку
|
||
/// </summary>
|
||
/// <returns>Имя вершины</returns>
|
||
public override string ToString() => Name;
|
||
} |