template class ArrayList { private: T *array; int size, capacity; public: // Constructor ArrayList(); // Destructor ~ArrayList(); /* Adauga un nod cu valoarea == value la inceputul vectorului. */ void addFirst(T value); /* Adauga un nod cu valoarea == value la sfarsitul vectorului. */ void addLast(T value); /* Elimina elementul de la inceputul vectorului si intoarce valoarea acestuia. */ T removeFirst(); /* Elimina elementul de la sfarsitul vectorului si intoarce valoarea acestuia. */ T removeLast(); /* Elimina prima aparitie a elementului care are valoarea == value. */ T removeFirstOccurrence(T value); /* Elimina ultima aparitie a elementului care are valoarea == value. */ T removeLastOccurrence(T value); /* Afiseaza elementele vectorului pe o singura linie, separate printr-un spatiu. */ void printList(); /* Intoarce true daca vectorul este gol, false altfel. */ bool isEmpty(); };