diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-10-18 18:56:43 +0200 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-10-20 09:08:52 +0200 |
commit | f279107065146a4940f5e73602a1c3c09e58b31d (patch) | |
tree | fd892749637a8b6c5c31ccb80bba04ade76ab87a /I_anno/Programmazione_2/data_structures/stack_w_array.cc | |
parent | 4e063e32250312c38d5646840719b62429362b21 (diff) |
chore: name of first year folder
Diffstat (limited to 'I_anno/Programmazione_2/data_structures/stack_w_array.cc')
-rw-r--r-- | I_anno/Programmazione_2/data_structures/stack_w_array.cc | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/I_anno/Programmazione_2/data_structures/stack_w_array.cc b/I_anno/Programmazione_2/data_structures/stack_w_array.cc deleted file mode 100644 index c20db90..0000000 --- a/I_anno/Programmazione_2/data_structures/stack_w_array.cc +++ /dev/null @@ -1,50 +0,0 @@ -#include<iostream> - -using namespace std; - -template<class H> -class stack { -public: - stack(int n) : _size{n}, _top{-1} { - _arr = new H[n]; - } - ~stack() { - delete _arr; - } - bool is_empty() { - return _top == -1; - } - bool is_full() { - return _top == _size-1; - } - stack<H>* push(H x) { - if(!is_full()) { - _arr[++_top] = x; - } - return this; - } - H pop() { - if(is_empty()) - return -1; - _top--; - return _arr[_top+1]; - } -private: - int _size; - H* _arr; - short _top; -}; - -int main() { - stack<int>* s = new stack<int>{7}; - - s->push(15)->push(6)->push(2)->push(9)->push(17)->push(3); - cout << s->pop() << '\n'; - s->push(18)->push(19)->push(12); - - for(int i = 0; i < 7; ++i) - cout << s->pop() << ' '; - - delete s; - return 0; -} |