31. 以下算法实现若开散列表HP中存在键值为K的结点,则将其删除。请分析程序,并在______上填充合适的语句。
void delete_openhash(keytype K,openhash HP)
{i=H(K);
if(HP[i]==NULL)return; /*空表则退出*/
p=HV[i];
if(p—>key==K){______=p—>next;free(p);return;)
/*表首结点为待删除结点时的删除*/
while(p—>next!=NULL) /*其他情况下的删除*/
{ q=p;p=p—>next;
if(p—>key==K){______=p—>next;delete(p);return;)
}
}