91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中如何使用鏈棧模板

發布時間:2021-07-19 17:51:48 來源:億速云 閱讀:145 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關C++中如何使用鏈棧模板,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

C++鏈棧模板聲明

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

C++鏈棧模板實現

  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> *pStackNode= pStackTop;  

  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> *pStackNode= pStackTop;  

  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++中如何使用鏈棧模板,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

辉县市| 象州县| 从江县| 永兴县| 高安市| 田东县| 开化县| 汉源县| 海城市| 万州区| 瓦房店市| 乐至县| 舟山市| 洛扎县| 天祝| 卢氏县| 彭山县| 呼图壁县| 广宗县| 鄂托克旗| 萍乡市| 厦门市| 德江县| 湄潭县| 高州市| 长泰县| 杨浦区| 手游| 阿瓦提县| 亚东县| 海丰县| 广丰县| 盐池县| 武鸣县| 酉阳| 济宁市| 成武县| 彰武县| 石渠县| 循化| 永平县|