Can we traverse the component (as the graph is entered or later with the stack) in the main program?
A. No. Even though we have given you flexibility in how you design your graph data structure, it should still be a good design. I.e., its interface should provide a function to do the component traversal AND the fact that a stack is being used for the traversal should be hidden in the module implementation. In addition, the main program should not be poking into the representation of the graph, even if you choose not to use ADTs/CDTs. Note that using ADTs/CDTs prevents poking from happening.