In a Remove() operation, we erase a found key node from the chaining node in the cell pointed by hash key. Similar to the Insert() and Search() operation, we have to traverse to the linked list until we find the inputted key. If the inputted key is found, we just need to delete the node. If the inputted key doesn't exist, we simply do nothing. The implementation of the Remove() operation will be as follows:
void HashTable::Remove(int key){ // Get hash key from hash function int hashKey = HashFunction(key); // Get the cell auto &cell = tableList[hashKey]; // Tranverse the chaining node (linked list) for (auto it = cell.begin(); it != cell.end(); ++it) { // if the key is found // then delete the list's element ...