您的位置:首页 > 其它

链表链式结构的写法

2015-06-07 15:03 465 查看
struct ListNode
{
int data;
ListNode* next;
};
void AddToTail(ListNode** pHead,int v){
ListNode* pNew = new ListNode();
pNew->data = v;
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 v)
{
if(pHead == NULL || *pHead == NULL)
return;
ListNode* pToBeDeleted = NULL;
if((*pHead)->data == v){
pToBeDeleted = *pHead;
*pHead = (*pHead)->next;
}else{
ListNode* pNode = *pHead;
while(pNode->next !=NULL && pNode->next->data !=v)
pNode = pNode->next;
if(pNode->next!=NULL && pNode->next->data ==v){
pToBeDeleted = pNode->next;
pNode->next = pNode->next->next;
}
}
if(pToBeDeleted!=NULL){
delete pToBeDeleted;
pToBeDeleted = NULL;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: