struct ListNode
{
int value;
struct ListNode *next;
};
void AddToTail(ListNode **pHead, int value)
{
ListNode *pNew = new ListNode;
pNew->value = value;
pNew->next = NULL;
if (*pHead == NULL)
*pHead = pNew;
else
{
ListNode *pNode = *pHead;
while (pNode->next != NULL)
pNode = pNode->next;
pNode->next = pNew;
}
}
void RemoveNode(ListNode **pHead, int value)
{
if (pHead == NULL || *pHead == NULL)
return;
ListNode *pToBeDeleted = NULL;
if ((*pHead)->value == value)
{
pToBeDeleted = *pHead;
*pHead = (*pHead)->next;
}
else
{
ListNode *pNode = *pHead;
while (pNode->next != NULL && pNode->next->value != value)
pNode = pNode->next;
if (pNode->next != NULL && pNode->next->value == value)
{
pToBeDeleted = pNode->next;
pNode->next = pNode->next->next;
}
}
if (pToBeDeleted != NULL)
{
delete pToBeDeleted;
pToBeDeleted = NULL;
}
}
链表操作(插入一个结点和删除一个结点)
最新推荐文章于 2021-09-15 11:47:14 发布