我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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

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

创新互联专注于企业成都营销网站建设、网站重做改版、光泽网站定制设计、自适应品牌网站建设、H5开发成都做商城网站、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为光泽等各大城市提供网站开发制作服务。

C++链栈模板声明

template  struct StackNode  {  T typeData;  StackNode *nextNode;  };  template  class 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 *pStackTop;  int iNodeCount;  };

C++链栈模板实现

  1. template  

  2. DZ_Stack::DZ_Stack()  

  3. {  

  4. pStackTop=NULL;  

  5. iNodeCount=0;  

  6. }  

  7. template  

  8. DZ_Stack::~DZ_Stack()  

  9. {  

  10. while(!IsEmpty())  

  11. {  

  12. StackNode *pStackNode= pStackTop;  

  13. pStackToppStackTop=pStackTop->nextNode;  

  14. delete (pStackNode);  

  15. pStackNode=NULL;  

  16. }  

  17. pStackTop=NULL;  

  18. }  

  19. template  

  20. bool DZ_Stack::Push(const T data)  

  21. {   

  22. StackNode *pStackNode=new StackNode;  

  23. if( NULL == pStackNode )   

  24. return false;  

  25. pStackNode->typeData=data;  

  26. pStackNode->nextNode=pStackTop;  

  27. pStackTop=pStackNode;  

  28. iNodeCount++;  

  29. return true;  

  30. }  

  31. template  

  32. bool DZ_Stack::Pop(T& data)  

  33. {   

  34. if ( IsEmpty() )  

  35. return false;  

  36. data=pStackTop->typeData;  

  37. StackNode *pStackNode= pStackTop;  

  38. pStackToppStackTop=pStackTop->nextNode;  

  39. delete (pStackNode);  

  40. iNodeCount--;  

  41. return true;   

  42. }  

  43. template  

  44. bool DZ_Stack::Peek(T& data)  

  45. {   

  46. if (IsEmpty())  

  47. return false;  

  48. data=pStackTop->typeData;  

  49. return true;   

  50. }  

  51. template  

  52. bool DZ_Stack::IsEmpty()  

  53. {   

  54. if ( NULL == pStackTop )  

  55. return true;  

  56. else  

  57. return false;  

  58. }  

  59. #endif // !defined(AFX_DZ_STACK_H__10036803_D752_4EF7_
    852D_DD6B377D7AB9__INCLUDED_) 

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


分享名称:C++中如何使用链栈模板
转载来源:http://shouzuofang.com/article/psssjs.html

其他资讯