自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++鏈棧模板應(yīng)用代碼解讀

開發(fā) 后端
我們今天將會通過對這篇文章中的一段代碼的解讀分別為大家介紹C++鏈棧模板的聲明方法,以及相關(guān)實現(xiàn)方法。

我們今天將會為大家詳細介紹一下有關(guān)C++鏈棧模板的基本操作方法。希望剛剛基礎(chǔ)這款語言的朋友們可以通過對這篇文章的解讀,充分的掌握這方面的應(yīng)用技巧,以方便我們在實際應(yīng)用中熟練應(yīng)用。

C++鏈棧模板聲明

  1. template <class T> 
  2. struct StackNode  
  3. {  
  4. T typeData;  
  5. StackNode *nextNode;  
  6. };  
  7. template <class T> 
  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<T> *pStackTop;  
  19. int iNodeCount;  
  20. }; 

C++鏈棧模板實現(xiàn)

  1. template <class T> 
  2. DZ_Stack<T>::DZ_Stack()  
  3. {  
  4. pStackTop=NULL;  
  5. iNodeCount=0;  
  6. }  
  7. template <class T> 
  8. DZ_Stack<T>::~DZ_Stack()  
  9. {  
  10. while(!IsEmpty())  
  11. {  
  12. StackNode<T> *pStackNodepStackTop;  
  13. pStackToppStackTop=pStackTop->nextNode;  
  14. delete (pStackNode);  
  15. pStackNode=NULL;  
  16. }  
  17. pStackTop=NULL;  
  18. }  
  19. template <class T> 
  20. bool DZ_Stack<T>::Push(const T data)  
  21. {   
  22. StackNode<T> *pStackNode=new StackNode<T>;  
  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 <class T> 
  32. bool DZ_Stack<T>::Pop(T& data)  
  33. {   
  34. if ( IsEmpty() )  
  35. return false;  
  36. data=pStackTop->typeData;  
  37. StackNode<T> *pStackNodepStackTop;  
  38. pStackToppStackTop=pStackTop->nextNode;  
  39. delete (pStackNode);  
  40. iNodeCount--;  
  41. return true;   
  42. }  
  43. template <class T> 
  44. bool DZ_Stack<T>::Peek(T& data)  
  45. {   
  46. if (IsEmpty())  
  47. return false;  
  48. data=pStackTop->typeData;  
  49. return true;   
  50. }  
  51. template <class T> 
  52. bool DZ_Stack<T>::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++鏈棧模板的相關(guān)介紹。

【編輯推薦】

  1. C++常量引用正確應(yīng)用方法
  2. C++函數(shù)模板基本概念講述
  3. C++標(biāo)識符命名規(guī)則相關(guān)應(yīng)用技巧分享
  4. C++構(gòu)造函數(shù)如何進行初始化
  5. C++創(chuàng)建Web服務(wù)相關(guān)方法剖析
責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-02-06 16:59:19

C++ kmp算法模板

2010-02-03 15:58:51

C++ timer

2010-02-04 09:33:08

C++指針重載

2010-02-04 13:45:36

C++類模板

2010-02-05 16:46:58

C++ TinyXml

2023-12-06 13:48:00

C++代碼

2010-02-04 16:07:39

C++回調(diào)函數(shù)

2010-02-06 09:46:46

C++單向鏈表

2010-02-04 11:15:28

C++模板限制

2010-01-21 14:07:14

CC++聲明

2010-02-02 17:27:16

C++連接MySqL數(shù)

2010-02-01 14:26:50

C++讀寫文本文件

2023-12-18 11:15:03

2010-02-01 11:22:09

C++虛函數(shù)

2011-04-11 12:22:11

數(shù)據(jù)結(jié)構(gòu)C++

2023-12-13 10:51:49

C++函數(shù)模板編程

2009-08-14 18:04:59

C#Windows應(yīng)用

2010-02-05 11:23:01

C++聲明語法

2010-01-26 17:35:09

C++棧

2010-02-03 14:30:04

C++棧對象
點贊
收藏

51CTO技術(shù)棧公眾號