예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }