čo presne robí toto?
if(strcmp(key,ptr->key)==0)return 1;
a v tejto funkcii
void HTdelete(PHASHTABLE t, char* key){
unsigned int h;
PNODE ptr,tmp1,tmp2;
h=Hash(key,t->size);
ptr=t->table[h];
while(ptr!=NULL){
if(strcmp(key,ptr->key)==0) // ak najde hladany retzec
{
if(t->table[h]==ptr)
{
tmp1=ptr->next;
if (tmp1 != NULL){
tmp2->next=tmp1;
tmp2->key=tmp1->key;
t->table[h]=NULL;
free(t->table[h]);
HTinsert(t,tmp2->key);
} else {
t->table[h]=NULL;
free(t->table[h]);
}
} else {
tmp1->next=tmp1->next->next;
free(ptr);
ptr=tmp1;
}
}
tmp1=ptr;
ptr=ptr->next;
}
}
toto
tmp1=ptr->next;
if (tmp1 != NULL){
tmp2->next=tmp1;
tmp2->key=tmp1->key;
t->table[h]=NULL;
free(t->table[h]);
HTinsert(t,tmp2->key);
vysvetlite mi pls každý riadok