在链表结尾插入一个结点 以及在 在链表中找到第一个含有某值的结点并删除该结点...

 1 #include "stdafx.h"
 2 #include <iostream>
 3 #include <exception>
 4 using namespace std;
 5 
 6 struct ListNode
 7 {
 8     int m_nValue;
 9     ListNode* m_pnext;
10 };
11 
12 void InsertNodeTail(ListNode** L,int num)
13 {
14     ListNode* node = new ListNode();
15     node->m_nValue = num;
16     node->m_pnext = NULL;
17     if(*L == NULL)
18     {
19         *L = node;
20     }
21     else
22     {
23         ListNode *pHead=*L;
24         while(pHead->m_pnext!=NULL)
25             pHead=pHead->m_pnext;
26         pHead->m_pnext = node;
27     }
28 }
29 
30 void RemoveNode(ListNode** pHead,int value)
31 {
32     if(pHead ==NULL||*pHead ==NULL)
33         return;
34     ListNode* pToBeDeleted = NULL;
35     if((*pHead)->m_nValue == value)
36     {
37         pToBeDeleted = *pHead;
38         *pHead = (*pHead)->m_pnext;
39     }
40     else
41     {
42         ListNode* pNode = *pHead;
43         while(pNode->m_pnext != NULL && pNode->m_pnext->m_nValue!=value)
44             pNode = pNode ->m_pnext;
45         if(pNode->m_pnext != NULL && pNode ->m_pnext->m_nValue ==value)
46         {
47             pToBeDeleted = pNode->m_pnext;
48             pNode->m_pnext = pNode->m_pnext->m_pnext;
49         }
50     }
51     if(pToBeDeleted!=NULL){
52         delete pToBeDeleted;
53         pToBeDeleted = NULL;
54     }
55 
56 }
57 int _tmain(int argc, _TCHAR* argv[])
58 { 
59 
60     return 0 ;
61 }

 

转载于:https://www.cnblogs.com/crazycodehzp/p/3556787.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值