logo CodeStepByStep logo

friendList

Write a function named friendList that accepts a file name as a parameter and reads friend relationships from a file and stores them into a compound collection that is returned. You should create a map where each key is a person's name from the file, and the value associated with that key is a setof all friends of that person. Friendships are bi-directional: if Marty is friends with Danielle, Danielle is friends with Marty.

The file contains one friend relationship per line, consisting of two names. The names are separated by a single space. You may assume that the file exists and is in a valid proper format. If a file named buddies.txt looks like this:

Marty Cynthia
Danielle Marty

Then the call of friendList("buddies.txt") should return a map with the following contents:

{"Cynthia":{"Marty"}, "Danielle":{"Marty"}, "Marty":{"Cynthia", "Danielle"}}

Constraints:

  • You may open and read the file only once. Do not re-open it or rewind the stream.
  • You should choose an efficient solution. Choose data structures intelligently and use them properly.
  • You may create one collection (stack, queue, set, map, etc.) or nested/compound structure as auxiliary storage. A nested structure, such as a set of vectors, counts as one collection. (You can have as many simple variables as you like, such as ints or strings.)
Function: Write a C++ function as described, not a complete program.

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? Contact your TA or instructor.

If something seems wrong with our site, please

Is there a problem? Contact us.