Change the Set<T> class of Displays 17.28 and 17.29 so that internally it uses a hash table to store its data instead of a linked list. The headers of the public functions should remain the same so that a program such as the demonstration in Display 17.30 will work without any changes. Add a constructor that allows the user of the new Set<T> class to specify the size of the hash table array.
The class for type T must override the << operator. To convert the return value of << to a string, do the following:
# include <sstream>
...
stringstream temp;
temp << instance of Class;
string s = temp.str();
For an additional challenge, implement the set using both a hash table and a linked list. Items added to the set should be stored using both data structures. Any operation requiring lookup of an item should use the hash table, and any operation requiring iteration through the items should use the linked list.
Sorry the answer is not available at the moment…
If you are able to find the answer, please make sure to post it here. So that your Juniors have smile on their lips and feel happy.
Spread the 'tradition of sharing'.