Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template <typename T>
- class stack {
- private:
- class node {
- public:
- T value;
- node* prev;
- node(T value, node* prev=nullptr) {
- this->value = value;
- this->prev = prev;
- }
- node(node *nd)
- {
- value = nd->value;
- prev = nd->prev;
- }
- };
- node* top;
- public:
- stack() {
- top = nullptr;
- }
- void add(T value) {
- if (top) {
- top = new node(value, top);
- } else
- top = new node(value);
- }
- node* pop() {
- node *tmp = new node(top);
- delete top;
- if (tmp->prev) {
- top = tmp->prev;
- }
- return tmp;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement