public void Print(Node n) { Queue <Node> Q = new Queue <Node>(); List <Node> visited = new List <Node>(); visited.Add(n); Console.WriteLine("Node value : " + n.val + " and address is " + n.GetHashCode()); Q.Enqueue(n); while (Q.Count != 0) { Node temp = Q.Dequeue(); foreach (Node tempNode in temp.neighbors) { if (!visited.Contains(tempNode)) { visited.Add(tempNode); Console.WriteLine("Node value : " + tempNode.val + " and address is " + tempNode.GetHashCode()); Q.Enqueue(tempNode); } } } }