下面的代码将项目作为参数并删除链接列表中的所有项目。它与我的测试非常协调。有什么我失踪?这个代码可以进一步改进吗?删除链接列表中所有出现的项目
void
LinkedList::DeleteAllOccurences(int key) {
Node *temp = head;
Node *prev = head;
while(temp!=NULL) {
if(temp->item == key){
if(temp == head) {
head = temp->next;
delete temp;
temp = head;
} else {
prev->next = temp->next;
delete temp;
temp = prev->next;
}
} else {
prev = temp;
temp = temp->next;
}
}
return;
}
是否存在代码问题?也许试试[Code Review Stack Exchange](https://codereview.stackexchange.com/)。 – Chirality