Example #1
0
        static void Main()
        {
            var graph = new Graph <int>();

            Console.WriteLine("write number of vertexes");
            int numberOfVerteces = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfVerteces; i++)
            {
                graph.AddVertex(i);
            }

            Console.WriteLine("enter number of connections");
            int numberOfEdges = int.Parse(Console.ReadLine());

            for (int j = 0; j < numberOfEdges; j++)
            {
                var commandParameters = Console.ReadLine().Split();

                int vertexValue     = int.Parse(commandParameters[0]);
                int vertexNeighbour = int.Parse(commandParameters[1]);

                var     edge           = commandParameters[2];
                decimal weight         = 1;
                bool    isDoubleLinked = true;

                if (commandParameters.Length == 4)
                {
                    weight = decimal.Parse(commandParameters[3]);
                }
                if (commandParameters.Length == 5)
                {
                    weight         = decimal.Parse(commandParameters[3]);
                    isDoubleLinked = bool.Parse(commandParameters[4]);
                }
                graph.AddNeighbourToVertex(vertexValue, vertexNeighbour, edge, weight, isDoubleLinked);
            }

            graph.Traverse();
        }