Newer
Older
#ifndef __LINKEDLIST_H__
#define __LINKEDLIST_H__
#include <string>
typedef enum {
OK ,
HeadNull,
TailNull,
HeadPrevious,
HeadNextNull,
TailNext,
TailPreviousNull,
HeadTail,
IncorrectLink
} ListStatus ;
template <class T>
class LinkedList {
private:
Node<T>* head;
Node<T>* tail;
int quantity;
public:
LinkedList(void);
~LinkedList(void);
Node<T>* getHead(void);
Node<T>* getTail(void);
T get(int);
int search(T);
bool insertEnd(T);
bool insertBegin(T);
bool insert(int, T);
T removeEnd(void);
T removeBegin(void);
T remove(int);
bool isEmpty(void);
int getQuantity(void);
};