A:
Make an Animal class with state including "age" and "sex" as well as behaviors like "eat" and "sleep". Make subclasses for more specific groups like Mammal and Reptile. Keep making more specific subclasses where each one has extra state and behavior.

B:
A key is an animal, a value is the type of food it eats, map is used to look up what food to bring for an animal 

or

A key is a food, a value is a list of animals that eat food, map is used to look up which animals need to eat a food to make sure there is enough of a food 

or

A key is a feeding time, a value is a list of animals fed at that time, map is used to look up what animals need to be fed at a specific time

or 

A key is a location, a value is a list of animals at that location, map is used to look up which animals a feeder at one location needs to account for

etc.  


C:
1. Finds the minimum element between indices i and n-1, inclusive and stores its index as m
2. Swaps the element at index i with the minimum element between indices i and n-1 if the minimum is not at index i
3. Sorts arr's elements in nondecreasing order