C++链栈模板应用代码解读

我们今天将会为大家详细介绍一下有关C++链栈模板的基本操作方法。希望刚刚基础这款语言的朋友们可以通过对这篇文章的解读,充分的掌握这方面的应用技巧,以方便我们在实际应用中熟练应用。

成都创新互联是专业的大英网站建设公司,大英接单;提供成都网站制作、成都做网站、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行大英网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

C++链栈模板声明

 
 
 
  1. template  
  2. struct StackNode  
  3. {  
  4. T typeData;  
  5. StackNode *nextNode;  
  6. };  
  7. template  
  8. class DZ_Stack   
  9. {  
  10. public:  
  11. bool Push(const T data);  
  12. bool Pop(T& data);   
  13. bool Peek(T& data);  
  14. bool IsEmpty();   
  15. DZ_Stack();  
  16. virtual ~DZ_Stack();  
  17. private:  
  18. StackNode *pStackTop;  
  19. int iNodeCount;  
  20. }; 

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++链栈模板的相关介绍。

【编辑推荐】

  1. C++常量引用正确应用方法
  2. C++函数模板基本概念讲述
  3. C++标识符命名规则相关应用技巧分享
  4. C++构造函数如何进行初始化
  5. C++创建Web服务相关方法剖析

新闻标题:C++链栈模板应用代码解读
本文地址:http://www.mswzjz.cn/qtweb/news10/36010.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能