zoukankan      html  css  js  c++  java
  • 在链表中找到第一个含有某值的结点并且删除该结点(C++|测试用例)

    代码:

    #include<iostream>
    using namespace std;
    class listnode{
    public:
      int m_nValue;
      listnode* m_pNext;
      listnode(int data):m_pNext(nullptr){
        this->m_nValue = data;
      }
    } ;
    void removeNode(listnode**pHead,int value)
    {
      if(pHead==nullptr||*pHead==nullptr)
      {
        return ;
      }
      listnode* pDeleted = nullptr;
      if((*pHead)->m_nValue==value)
      {
        pDeleted = *pHead;
       *pHead = (*pHead)->m_pNext;
      }
    listnode* pnode = *pHead;
    while(pnode->m_pNext!=nullptr&&pnode->m_pNext->m_nValue!=value)
    {
      pnode = pnode->m_pNext;
    }
    pDeleted = pnode->m_pNext;
    pnode->m_pNext = pnode->m_pNext->m_pNext;
    if(pDeleted!=nullptr)
    {
      delete pDeleted;
      pDeleted = nullptr;
    }
    }
    int main()
    {
      listnode* a = new listnode(1);
      listnode* b = new listnode(2);
      listnode* c = new listnode(3);
      listnode* d = new listnode(4);
      listnode* e = new listnode(5);
      a->m_pNext = b;
      b->m_pNext = c;
      c->m_pNext = d;
      d->m_pNext = e;
      e->m_pNext = nullptr;
      removeNode(&a,2);
      listnode* p = a;
      while(p!=nullptr)
      {
        cout << p->m_nValue << endl;
        p = p->m_pNext;
      }
    }
    测试结果:
  • 相关阅读:
    gulp编译sass
    Material Design学习
    js爬虫心得
    js爬虫
    angularjs
    sass心得
    矩阵与线性代数学习笔记
    2-SAT学习笔记
    一个有趣的题目【二分答案,2-SAT,线段树优化】
    vijos训练之——星辰大海中闪烁的趣题
  • 原文地址:https://www.cnblogs.com/shiheyuanfang/p/13772197.html
Copyright © 2011-2022 走看看