C 链栈模板应用代码解读
创始人
2024-06-22 22:30:45
0次

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

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服务相关方法剖析

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...