Write a program which will sort a file of people's names, but keep the order in which the names where received intact. That is, you want to print the names in the order that they were received and you also want to be able to print the names sorted alphabetically, but you DO NOT want to duplicate the data.
This is for a C++ data structures class, so the problem NEEDS to be solved in C++ using a sorting algorithm (something like heapsort, binary sort, etc) and/or other data structures.