理论基础 —— 栈 —— 链栈
生活随笔
收集整理的這篇文章主要介紹了
理论基础 —— 栈 —— 链栈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【實現類】
template <class T> struct Node{T data;Node *next; }; template <class T> class linkStack{ public:linkStack();~linkStack();void push(T x);//入棧T pop();//出棧T getTop();//獲取棧頂元素bool empty();//判斷是否為空 private:Node<T> *top; //棧頂指針 };【構造函數】
將棧首指針設為 NULL?即可
template <class T> linkStack<T>::linkStack(){top=NULL; }【析構函數】
template <class T> linkStack<T>::~linkStack(){while(top!=NULL){//棧不為空Node<T> *p;p=top->next;//工作指針暫存下一元素delete top;//刪除棧頂元素top=p;//棧頂指針指向下一元素} }【進棧】
【出棧算法】
【判斷棧空】
判斷棧頂指針是否為 NULL,若 top=NULL,則棧空
template <class T> bool linkStack<T>::empty(){if(top==NULL)return true;return false; }【取棧頂元素】
總結
以上是生活随笔為你收集整理的理论基础 —— 栈 —— 链栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字0-9的数量(51Nod-1042)
- 下一篇: 0和5(51Nod-1433)