computer science c programming 1

For this assignment, write a class named HashTable that implements a hash table using linear probing to resolve collisions.

Submit your solution in it’s own header file named HashTable.h.

Your solution should include the following methods in it’s public interface:

  • insert() – accepts a string as it’s only argument, which is added to the hash table, setting the element’s mark where it is stored to 2.
  • remove() – accepts a string as it’s only argument, and removes the string from the hash table (if found) by setting it’s mark to 1.
  • isFull() – returns true if the hash table is full, false otherwise.
  • isEmpty() – returns true if the hash table is empty, false otherwise.
  • find() – accepts a string as it’s only argument. Returns true if it is found in the hash table, false otherwise.
  • clear() – empties the hash table by setting each elements mark to 0.
  • print() – displays the contents of the hash table to the screen. That is, only the elements that are being used (marked with 2)
  • constructor – accepts an integer as it’s only argument, creating a hash table that can store that many values (a dynamically allocated array of Elements).
  • destructor – frees all memory used.

Other than the print() method, none of these methods should interact with the user in any way.

Here’s a list of private attributes:

  • Element – a nested struct containing the following fields:
    • key – Stores the string passed to the object through the insert method.
    • mark – an variable set to 2 if the element is being used, 1 if it was used but then was deleted, and 0 if it was never used.
  • table – an Element pointer that holds the memory address of a dynamically allocated array of Elements.
  • size – stores the size of the Element array.
  • hash – The hash function. It accepts a String as it’s only argument and returns an index into the hash table. Design your hash function any way you wish. I gave a couple suggestions in class. My solution will use the sum of ascii values approach.
 
Do you need a similar assignment done for you from scratch? We have qualified writers to help you. We assure you an A+ quality paper that is free from plagiarism. Order now for an Amazing Discount!
Use Discount Code "Newclient" for a 15% Discount!

NB: We do not resell papers. Upon ordering, we do an original paper exclusively for you.