1. This is about linked list.

I know how to dump the elements of a linked list to the screen in a First-In-Last-Out manner.

However, how can I do it in a First-In-First-Out manner?

Should I change the way of adding element (i.e. by adding elements at the tail of list rather than the front of the list)?

Or should I change the way of dumping elements to the screen?

2. This is about tree. I know how to dump the elements of a tree in "alphabetical manner".

However, how can do it in a First-In-First-Out manner?

Should I change the way of adding elements (which seems to violate the priciple of making a tree)?

Or should I change the way of dumping elements to the screen?

3. Is there any other methods (or other types of dynamic data structure) which serve the above purposes with higher efficiency?