/// <summary> /// Метод PrintAllPoints выводит вершины графа на экран /// </summary> /// <param name="da">Ссылка на алгоритм</param> /// <returns>ВОзращает вершины графа</returns> public static List <String> PrintAllPoints(DekstraAlgorithm da) { List <String> retListOfPoints = new List <String>(); foreach (Point p in da.Points) { retListOfPoints.Add(String.Format($"Имя вершины: = {p.Name}, Значение вершины: = {p.ValueMetka}, Соседи вершины: = {p.PredPoint.Name}" ?? "нет соседей!")); } return(retListOfPoints); }
/// <summary> /// Метод PrintAllMinPaths выводит минимальный пути для вершин графа /// </summary> /// <param name="da">Ссылка на алгоритм</param> /// <returns>Возращает минимальные пути для вершин графа</returns> public static List <String> PrintAllMinPaths(DekstraAlgorithm da) { List <String> retListOfPointsAndPaths = new List <String>(); foreach (Point p in da.Points) { if (p != da.BeginPoint) { String s = String.Empty; foreach (Point p1 in da.MinPath(p)) { s += String.Format($"{p1.Name}"); } retListOfPointsAndPaths.Add(String.Format($"Вершина: = {p.Name}, Найменьший путь к вершине: {da.BeginPoint.Name} = {s}")); } } return(retListOfPointsAndPaths); }