$20
Your first task in developing the application for tracking contributors is to load a list of the people who are helping the cause. Design and develop a linked list, implemented as a stack, to track all of the contributors. You will read the contributor
information from a file provided; it is a comma delimited (CSV) file. Your design should include the following:
Each contributor will have the following Information:
Name: String; / 'the name of the contributor
City: String; //the city in which the contributor lives
Country: String: //the country In which the contributor lives
Phone: String; //the phone number for the contributor
Contribution: Double; //the amount of the contribution given by the contributor to the zoo
• ID: Integer; //identifier key for future needs
Contributor Functions/Methods:
Input constructor: //to accept a string for the name and additional information for each contributor (this should call the Push constructor to implement the stack)
Print constructor: //to print out the contributor data
Pop constructor
Push constructor
Deliverables:
At this point, you decide to implement a Hash structure for the contributor data to prepare for searches. You will read the contributor information from a file provided; it is a comma delimited (CSV) file. As each record is read, create a Hash
table for the ID field. The limitation for the Hash table IS that it has a size of S, so need to be able to handle collisions. Collisions should be resolved through the use of a linked list for the ID values (implement this using a stack). Your design
should include the following:
A Hash table pointing to a structure for a linked list that contains only the following information:
Each Hash Bucket Collision Item will have the following Information:
ID: Integer; //identifier key for future needs
Hash Bucket Functions/Methods:
Input constructor: "to accept a string for the name and additional information for each contributor (you will only need the ID portion of the input data)
Hash Function constructor: (Hint: You only have S Hash buckets, so the function can be a very simple calculation.)
Pop constructor
Push constructor
Print constructor: //to show the contents of a Hash bucket
Deliverables:
A fully documented program to load the Hash table with collisions being handled as a linked list, implemented as a Stack
A test plan to show how the program runs and can be executed
A screenshot showing that the program loaded the data, and after all data is loaded, shows the contents of the first Hash bucket (ideally this is Bucket O