public bool EulerProceed(Node node) { List <Edge> possibleEdges = graph.GetEdges(node); Console.WriteLine(graph.ToString()); foreach (Edge edge in possibleEdges) { if (!IsBridge(edge)) { Edge usedEdge = edge; Node goToNode = graph.GetSecondNode(usedEdge, node); graph.RemoveEdge(usedEdge); qEdges.Enqueue(usedEdge); EulerProceed(goToNode); break; } } if (graph.Edges.Count == 0) { return(true); } else { return(false); } }