#ifndef _LIST_H #define _LIST_H #include class List { public: List(); virtual List *copy() = 0; int getQuantity(); virtual void append(Node *, Node *) = 0; virtual void append(List *, List *) = 0; virtual void insert(Node *, Node *) = 0; virtual void insert(List *, List *) = 0; virtual Node *obtain(Node *) = 0; virtual List *obtain(List *) = 0; virtual void display(int) = 0; virtual void sort(int) = 0; virtual void swap(Node *, Node *) = 0; virtual Node *find(int) = 0; virtual Node *getStart() = 0; virtual Node *getEnd() = 0; virtual List *getNext() = 0; virtual void setNext(List *) = 0; virtual List *getPrev() = 0; virtual void setPrev(List *) = 0; virtual ~List(); protected: void setQuantity(int); virtual void setStart(Node *) = 0; virtual void setEnd (Node *) = 0; virtual Node *setListPosition(int) = 0; virtual int getListPosition(Node *) = 0; virtual List *setListNumber(int) = 0; virtual int getListNumber(List *) = 0; private: int quantity; }; #endif