Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef LINKED_LIST_H
- #define LINKED_LIST_H
- template <typename T>
- class LinkedList
- {
- struct LinkedListNode
- {
- T value;
- LinkedListNode *next;
- };
- public:
- void add(T);
- void remove(T);
- T get(int);
- private:
- LinkedListNode *root;
- };
- template <typename T>
- void LinkedList<T>::add(T arg)
- {
- LinkedListNode *node = this->root;
- while (node != NULL)
- {
- node = node->next;
- }
- node = new LinkedListNode;
- node->value = arg;
- }
- template <typename T>
- void LinkedList<T>::remove(T arg)
- {
- LinkedListNode *node = this->root;
- while (node->value != arg)
- {
- node = node->next;
- }
- delete node;
- }
- template <typename T>
- T LinkedList<T>::get(int index)
- {
- LinkedListNode *node = this->root;
- for (int i = 0; i < index && node != NULL; i++)
- {
- node = node->next;
- }
- return node->value;
- }
- #endif // ifndef LINKED_LIST_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement