• 我的模板栈


     1 template<typename T>
     2 struct Node
     3 {
     4     T data;
     5     Node<T>* next;
     6 };
     7 
     8 template<typename T>
     9 class stack
    10 {
    11     Node<T>* top;
    12 public:
    13     stack():top(NULL){}
    14     void push(T n);
    15     T pop();
    16     bool stackEmpty();
    17     T getTop();
    18     ~stack(){}
    19     void print();
    20 };
    21 
    22 template<typename T>
    23 void stack<T>::push(T n)
    24 {
    25     Node<T>* r=new Node<T>;
    26     r->data=n;
    27     r->next=top;
    28     top=r;
    29 }
    30 
    31 template<typename T>
    32 T stack<T>::pop()
    33 {
    34     Node<T> *ptr = top;  
    35     top = top->next;
    36     T t=ptr->data;
    37     delete ptr;
    38     return t;
    39 }
    40 
    41 
    42 template<typename T>
    43 void stack<T>::print()
    44 {
    45     for(Node<T>* p=top;p;p=p->next)
    46         cout<<p->data<<"  ";
    47 }
    48 
    49 template<typename T>
    50 T stack<T>::getTop()
    51 {
    52     return top->data;
    53 }
    54 
    55 template<typename T>
    56 bool stack<T>::stackEmpty()
    57 {
    58     if(top)return false;
    59     else return true;
    60 }
  • 相关阅读:
    bzoj 3924
    bzoj 1095
    luogu 4886
    bzoj 2152
    CF960G
    bzoj 3561
    bzoj 4176
    bzoj 4407
    bzoj 3309
    luogu 4608
  • 原文地址:https://www.cnblogs.com/vhyc/p/5499224.html
Copyright © 2020-2023  润新知