Предыдущая переменная инициализирована нулем.Если вы удаляете узел, измените предыдущий рядом со следующим элементом, если только предыдущий не является нулевым (вы находитесь в начале списка), когда вы оставляете предыдущий нулевой и изменяете корень на следующий удаленный элемент.Если вы не удаляете элемент, измените предыдущий элемент.
Здесь предыдущий всегда будет указывать на предыдущий элемент или будет нулевым, если вы находитесь в начале списка.
void WordList::deleteNode() {
Node *temp = head;
Node *previous = null;
while (temp != null) {
if(temp->count <= 10) {
// delete node
if (previous == null) {
// there is no previous node, so point head of list past the current node
head = temp->next;
} else {
// there is a previous node, so just point it past the current node
previous->next = temp->next;
}
} else {
// not deleting, so set previous to temp
previous = temp;
}
temp = temp->next;
}
}