69,371
社区成员
发帖
与我相关
我的任务
分享
typedef struct LNODE {
data_t data;
struct LNODE * next;
}Node_t, *PNode;
int Delete(PNode* PHead, data_t data)
{
int status = -2;
PNode PCur = *PHead;
PNode prevNode = NULL;
while (PCur)
{
if (data.sn == PCur->data.sn)
{
if (prevNode != NULL)
prevNode->next = PCur->next;
PNode tempNode = PCur;
PCur = PCur->next;
if (prevNode == NULL)
*PHead = PCur;
free(tempNode);
tempNode = NULL;
status = 0;//success
break;
}
prevNode = PCur;
PCur = PCur->next;
}
return status;//NULL or get it.
}