下面的代碼將項目作爲參數並刪除鏈接列表中的所有項目。它與我的測試非常協調。有什麼我失蹤?這個代碼可以進一步改進嗎?刪除鏈接列表中所有出現的項目
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