From d2edbc38cac8da52f58c5cd3da6c0c625fa05736 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Sat, 6 Feb 2021 19:56:36 +0100 Subject: conf: rename --- .../data_structures/stack_w_array.cc | 50 ---------------------- 1 file changed, 50 deletions(-) delete mode 100644 1_anno/Programmazione_2/data_structures/stack_w_array.cc (limited to '1_anno/Programmazione_2/data_structures/stack_w_array.cc') diff --git a/1_anno/Programmazione_2/data_structures/stack_w_array.cc b/1_anno/Programmazione_2/data_structures/stack_w_array.cc deleted file mode 100644 index c20db90..0000000 --- a/1_anno/Programmazione_2/data_structures/stack_w_array.cc +++ /dev/null @@ -1,50 +0,0 @@ -#include - -using namespace std; - -template -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* 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* s = new stack{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; -} -- cgit v1.2.3-18-g5258