class ChainedHashTable
{
int hash(string value, int N); // as given above
struct ListNode
{
string key;
Object info;
ListNode * next;
ListNode(string k, Object ob, ListNode * n)
{
key = k; info = ob; next = n;
}
static ListNode * find(string k, ListNode * l);
static ListNode * remove(string k, ListNode * l);
static void destruct(ListNode * l);
};
ListNode * * T; // T is an array of linked lists
int capacity;
public:
ChainedHashTable(int numberOfChains);
void insert(string key, Object info);
Object lookup(string key);
void remove(string key);
~ChainedHashTable();
};