单链表的插入和删除 C++实现

单链表的插入和删除 C++实现,第1张

概述单链表的插入删除 C++实现

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

#pragma once     ////定义链表和节点///////////////////////////////////////////     ////节点类  class Node  {  public:      ////methods      Node(voID);      Node(int data);      ~Node(voID);        /////members      Node* next;      int data;  };    ////链表类  class Mylinktable{  public:      //////methods      voID RemovdeAt(int position,Node* head);      voID Add(Node* node,Node* head);      voID AddAfter(int position,Node* head,Node* node);      bool IsEmpty(Node* head);      voID PrintNodes(Node* head);      /////members      Node* head;  };  ///////////////////////////////////////////////实现///////////////////     #include "StdAfx.h"  #include "Node.h"  #include <iostream>    /////////node methods/////////////  Node::Node(voID)  {      Node::data=0;      Node::next=NulL;  }    Node::Node(int data)  {      Node::data = data;      Node::next=NulL;  }    Node::~Node(voID)  {  }    //////////////////////end//////////////////    ///////////linktable methods//////////////     ////移除某个节点//////////////////  voID Mylinktable::RemovdeAt(int position,Node* head){  if(this->IsEmpty(head) || position < 0){  return;  }    ////如果要删除头结点  if(position == 0)  {  Node* n = head;  head=head->next;  delete n;  Mylinktable::head = head;  return;  }    Node* p = new Node;  p=head;  for(int i=0;i<position-1&&p!=NulL;p=p->next,i++);    if(p!=NulL)  {  Node* n = p->next;  p->next = p->next->next;  free(n);  }  }     /////在末尾追加节点  voID Mylinktable::Add(Node* node,Node* head){      if(this->IsEmpty(head))      {      return;      }  Node* p = head;  while(p->next)  {  p=p->next;  }    p->next = node;  node->next = NulL;    }  /////在制定位置后面添加节点  voID Mylinktable::AddAfter(int position,Node* node){      if(this->IsEmpty(head)){      return;      }  Node* p = head;  for(int i = 0;i < position && p->next != NulL;p=p->next,i ++);    node->next = p->next;  p->next = node;    }        ////判断链表是否非空  bool Mylinktable::IsEmpty(Node* head){  return head==NulL;  }        ////打印链表  voID Mylinktable::PrintNodes(Node* head){        std::cout<<std::endl;      while(head){          std::cout<<head->data<<" ";      head=head->next;      }        }    ///////////////end/////////////////// 

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的单链表的插入和删除 C++实现全部内容,希望文章能够帮你解决单链表的插入和删除 C++实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1231886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存