


CodePudding user response:
You of the main function of the code is posted, see how the head when you delete functions have parameters initializationSecond, delete function phead and p pointer without new time, it is good to use the head assignment directly, namely DPigNode * phead=head; DPigNode * p=head; Otherwise you new without don't delete, causing a memory leak
CodePudding user response:
The head has come in, pHead=p=head;Two new
there is no need for operation
D

PHead=p=head;
While (p!=NULL) {
If (p - & gt; Weight!=weight) p=p - & gt; PNext

Temp=p;//p is to delete the node
If (NULL==p - & gt; PPre

PHead=p - & gt; PNext

PHead - & gt; PPre

delete p;
Return pHead;
}
If (NULL==p - & gt; PNext



P - & gt; PPre


delete p;
Return pHead;
}
//p not


tailP - & gt; PPre



P - & gt; PNext



delete p;
Return pHead;
}
Return pHead;//in the end also didn't find want to delete the weight will be executed this statement
CodePudding user response:
The head has come in, pHead=p=head;
Two new
there is no need for operation
D

PHead=p=head;
While (p!=NULL) {
If (p - & gt; Weight!=weight) p=p - & gt; PNext

Temp=p;//p is to delete the node
If (NULL==p - & gt; PPre

PHead=p - & gt; PNext

if (pHead)//queue only nodes inside, likely pHead will be NULL
pHead - & gt; PPre

delete p;
Return pHead;
}
If (NULL==p - & gt; PNext



//here don't have to test p - & gt; PPre

P - & gt; PPre


delete p;
Return pHead;
}
//p not


tailP - & gt; PPre



P - & gt; PNext



delete p;
Return pHead;
}
Return pHead;//in the end also didn't find want to delete the weight will be executed this statement