diff options
author | Santo Cariotti <santo@dcariotti.me> | 2021-02-06 19:56:36 +0100 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2021-02-06 19:56:36 +0100 |
commit | d2edbc38cac8da52f58c5cd3da6c0c625fa05736 (patch) | |
tree | a51e9a4e56fc9d4c7c9e37576dceedca3a0c72b4 /1_anno/Programmazione_2/data_structures/stack.cc | |
parent | 98f34040820dc3a964b7be59a698323e8cc6c8a3 (diff) |
conf: rename
Diffstat (limited to '1_anno/Programmazione_2/data_structures/stack.cc')
-rw-r--r-- | 1_anno/Programmazione_2/data_structures/stack.cc | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/1_anno/Programmazione_2/data_structures/stack.cc b/1_anno/Programmazione_2/data_structures/stack.cc deleted file mode 100644 index ffff780..0000000 --- a/1_anno/Programmazione_2/data_structures/stack.cc +++ /dev/null @@ -1,70 +0,0 @@ -#include<iostream> - -using namespace std; - -template<typename T> -struct node { - T value; - node<T>* next; -}; - -template<class T> -class stack { -public: - stack() : _head{nullptr} {} - - ~stack() { - auto iter = _head; - while(iter) { - delete iter; - iter = iter->next; - } - } - - stack<T>* push(T val) { - - if(!_head) { - _head = new node<T>{val, nullptr}; - } else { - _head = new node<T>{val, _head}; - } - - return this; - } - - node<T>* pop() { - if(!_head) return nullptr; - node<T>* elem = _head; - delete _head; - _head = elem->next; - - return elem; - } - - void print() { - auto iter = _head; - while(iter) { - cout << iter->value << ' '; - iter = iter->next; - } - cout << endl; - } -private: - node<T>* _head; -}; - -int main() { - stack<int>* s = new stack<int>(); - - s->pop(); - s->push(4)->push(2)->push(8); - s->print(); - auto e = s->pop(); - if(e) - cout << e->value << endl; - s->push(1); - s->print(); - - delete s; - return 0; -} |