From f279107065146a4940f5e73602a1c3c09e58b31d Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Sun, 18 Oct 2020 18:56:43 +0200 Subject: chore: name of first year folder --- I_anno/Programmazione_2/data_structures/queue.cc | 72 ------------------------ 1 file changed, 72 deletions(-) delete mode 100644 I_anno/Programmazione_2/data_structures/queue.cc (limited to 'I_anno/Programmazione_2/data_structures/queue.cc') diff --git a/I_anno/Programmazione_2/data_structures/queue.cc b/I_anno/Programmazione_2/data_structures/queue.cc deleted file mode 100644 index 8398459..0000000 --- a/I_anno/Programmazione_2/data_structures/queue.cc +++ /dev/null @@ -1,72 +0,0 @@ -#include - -using namespace std; - -template -struct node { - T value; - node* next; -}; - -template -class queue { -public: - queue() : _head{nullptr} {} - - ~queue() { - auto iter = _head; - while(iter) { - delete iter; - iter = iter->next; - } - } - - queue* enqueue(T val) { - - if(!_head) { - _head = new node{val, nullptr}; - _tail = _head; - } else { - _tail->next = new node{val, nullptr}; - _tail = _tail->next; - } - - return this; - } - - node* dequeue() { - if(!_head) return nullptr; - auto iter = _head; - delete _head; - _head = iter->next; - return iter; - } - - void print() { - auto iter = _head; - while(iter) { - cout << iter->value << ' '; - iter = iter->next; - } - cout << endl; - } -private: - node* _head; - node* _tail; -}; - -int main() { - queue* q = new queue(); - - q->dequeue(); - q->enqueue(4)->enqueue(2)->enqueue(8); - q->print(); - auto e = q->dequeue(); - if(e) - cout << e->value << endl; - q->enqueue(1); - q->print(); - - delete q; - return 0; -} -- cgit v1.2.3-18-g5258