#pragma once #include class IntDoubleLink; class IntDoubleLinkedList { public: IntDoubleLinkedList(); virtual ~IntDoubleLinkedList(); public: virtual void insertAtStart(int); virtual void insertAtEnd(int); virtual bool removeAtStart(); virtual bool removeAtEnd(); virtual void initFirstElement(int); public: virtual IntDoubleLink *getHead(); virtual IntDoubleLink *getTail(); public: // voor vraag 1 virtual void rapidBubbleSort(); public: // voor vraag 2 virtual void insertAction(int code); virtual int undo(); virtual int redo(); virtual int getCurrentAction(); private: IntDoubleLink* actionCursor = nullptr; public: // alleen voor het gemak virtual void showAll(); private: size_t size = 0; IntDoubleLink* head = nullptr; IntDoubleLink* tail = nullptr; private: virtual int _indexOf(IntDoubleLink*); };