谁能帮我看看这个链表的删除结点的函数的问题?
void Polynomial::deleteElement(int n)
{
NumberElement *elementPtr;
NumberElement *previousElement;
if(!head)
return;
if(head->exponent==n)
{
elementPtr = head->next;
delete head;
head = elementPtr;
}
else
{
elementPtr = head;
while(elementPtr!=NULL&&elementPtr->exponent!=n)
{
previousElement = elementPtr;
elementPtr = elementPtr->next;
}
if(elementPtr)
{
previousElement->next = elementPtr->next;
delete elementPtr;
}
else
cout <<"The element you want to delete does not exist."<<endl;
}
}
我运行时候发现 结果可以显示,但是所要删除的结点并没有删除。不知道是怎么回事。