Just wanted to know if my erase function is right?
void erase(string key) {
int idx=hashFn(key);
Node*temp=table[idx];
Node*prev=NULL;
while(temp){
if(temp->key==key){
if(prev)
prev->next=temp->next;
else
table[idx]=temp->next;
delete temp;
}
prev=temp;
temp=temp->next;
}
}
Or before deleting temp, I have to do temp->next = NULL ?