Advertisement
Guest User

Untitled

a guest
May 28th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #ifndef LINKED_LIST_H
  2. #define LINKED_LIST_H
  3.  
  4. template <typename T>
  5. class LinkedList
  6. {
  7.     struct LinkedListNode
  8.     {
  9.         T value;
  10.         LinkedListNode *next;
  11.     };
  12.  
  13. public:
  14.     void add(T);
  15.     void remove(T);
  16.     T get(int);
  17. private:
  18.     LinkedListNode *root;
  19. };
  20.  
  21. template <typename T>
  22. void LinkedList<T>::add(T arg)
  23. {
  24.     LinkedListNode *node = this->root;
  25.     while (node != NULL)
  26.     {
  27.         node = node->next;
  28.     }
  29.     node = new LinkedListNode;
  30.     node->value = arg;
  31. }
  32.  
  33. template <typename T>
  34. void LinkedList<T>::remove(T arg)
  35. {
  36.     LinkedListNode *node = this->root;
  37.     while (node->value != arg)
  38.     {
  39.         node = node->next;
  40.     }
  41.     delete node;
  42. }
  43.  
  44.  
  45. template <typename T>
  46. T LinkedList<T>::get(int index)
  47. {
  48.     LinkedListNode *node = this->root;
  49.     for (int i = 0; i < index && node != NULL; i++)
  50.     {
  51.         node = node->next;
  52.     }
  53.     return node->value;
  54. }
  55.  
  56.  
  57. #endif // ifndef LINKED_LIST_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement