Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. enum BOOLEAN {FALSE, TRUE};
  2. const int EMPTY=-1;
  3. template <class Type>
  4. class stack
  5.  {
  6.  private:
  7.  Type* s; // Указатель на массив стека
  8.  int max_len; // Максимальная длина стека
  9.  int top; // Индекс элемента в вершине стека
  10.  public:
  11.  stack():max_len(100) // конструктор без параметров
  12.  {s=new Type[100]; top=EMPTY;}
  13.  stack(int size):max_len(size) // Второй конструктор
  14.  {s=new Type[size]; top=EMPTY;}
  15.  ~stack() {delete [] s;} // Деструктор
  16.  void reset() {top=EMPTY;} // Очистить стек
  17.  void push(Type c) {s[++top]=c;}
  18.  Type pop() {return s[top—];}
  19.  Type top_of() {return s[top];}
  20.  BOOLEAN empty() {return BOOLEAN(top==EMPTY);}
  21.  BOOLEAN full() {return BOOLEAN(top==max_len);}
  22.  };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement