If you are using MFC, using CListCtrl to represent your tree visually and using its function SetItemData & GetItemData to set and retrieve the data will be very helpful.
First, you can create a class/structure for each node and it should keep a list of its children node. If the list is empty, it can be used to indicate a leave node.
For the traversing part, you can start by passing the first node into recursive function. The function checks if the list is not empty and loop through each node and calling the same function. The function should only return when it reaches the leave node.
You may also like to pass another parameter, which keep track of the list of nodes you have already traverse, into the recursive function. Just before returning from the recursive function, you can print out the result.
* The Best Reasons to Target Windows 8
Learn some of the best reasons why you should seriously consider bringing your Android mobile development expertise to bear on the Windows 8 platform.