void insert_node(Node *p){
Node *tmp;
tmp = new Node;
tmp = p;
if(first == NULL){
status ++;
tmp->next = NULL;
first = tmp;
}
else{
status ++;
tmp->next = first;
first = tmp;
}
}
void Resize_content(){
if( status2 >= 7*space/10){
Entry *tmp;
tmp = new Entry[2*space];
for(int i=0;i<space;i++){
Node *paux;
paux = content[i].first;
while(paux){
//Node &caux = *paux;
tmp[paux->hash_index%(2*space)].insert_node(paux);
paux = paux ->next;
}
}
delete[] content;
content = new Entry[2*space];
content = tmp;
space = 2*space;
}
}
content
是一个向量列出大小空间的条目。一旦元素的数量超过空间的 70%,则重新调整空间,它将元素移动到不同的位置。问题在于元素来自同一个列表,因为 insert_node 之后的 paux->next 变为 NULL 并且没有移动