Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum BOOLEAN {FALSE, TRUE};
- const int EMPTY=-1;
- template <class Type>
- class stack
- {
- private:
- Type* s; // Указатель на массив стека
- int max_len; // Максимальная длина стека
- int top; // Индекс элемента в вершине стека
- public:
- stack():max_len(100) // конструктор без параметров
- {s=new Type[100]; top=EMPTY;}
- stack(int size):max_len(size) // Второй конструктор
- {s=new Type[size]; top=EMPTY;}
- ~stack() {delete [] s;} // Деструктор
- void reset() {top=EMPTY;} // Очистить стек
- void push(Type c) {s[++top]=c;}
- Type pop() {return s[top—];}
- Type top_of() {return s[top];}
- BOOLEAN empty() {return BOOLEAN(top==EMPTY);}
- BOOLEAN full() {return BOOLEAN(top==max_len);}
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement