温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中如何使用链栈模板

发布时间:2021-07-19 17:51:48 阅读:155 作者:Leah 栏目:编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇文章给大家分享的是有关C++中如何使用链栈模板,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

C++链栈模板声明

template <class Tstruct StackNode  {  T typeData;  StackNode *nextNode;  };  template <class Tclass DZ_Stack   {  public:  bool Push(const T data);  bool Pop(T& data);   bool Peek(T& data);  bool IsEmpty();   DZ_Stack();  virtual ~DZ_Stack();  private:  StackNode<T> *pStackTop;  int iNodeCount;  };

C++链栈模板实现

template <class TDZ_Stack<T>::DZ_Stack()  {  pStackTop=NULL;  iNodeCount=0;  }  template <class TDZ_Stack<T>::~DZ_Stack()  {  while(!IsEmpty())  {  StackNode<T> *pStackNode= pStackTop;  pStackToppStackTop=pStackTop->nextNode;  delete (pStackNode);  pStackNode=NULL;  }  pStackTop=NULL;  }  template <class Tbool DZ_Stack<T>::Push(const T data)  {   StackNode<T> *pStackNode=new StackNode<T>;  if( NULL == pStackNode )   return false;  pStackNode->typeData=data;  pStackNode->nextNode=pStackTop;  pStackTop=pStackNode;  iNodeCount++;  return true;  }  template <class Tbool DZ_Stack<T>::Pop(T& data)  {   if ( IsEmpty() )  return false;  data=pStackTop->typeData;  StackNode<T> *pStackNode= pStackTop;  pStackToppStackTop=pStackTop->nextNode;  delete (pStackNode);  iNodeCount--;  return true;   }  template <class Tbool DZ_Stack<T>::Peek(T& data)  {   if (IsEmpty())  return false;  data=pStackTop->typeData;  return true;   }  template <class Tbool DZ_Stack<T>::IsEmpty()  {   if ( NULL == pStackTop )  return true;  else  return false;  }  #endif // !defined(AFX_DZ_STACK_H__10036803_D752_4EF7_852D_DD6B377D7AB9__INCLUDED_) 

以上就是C++中如何使用链栈模板,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI

开发者交流群×