Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. template <class T>
  2. class list
  3. {
  4. public:
  5.     class node;
  6.     friend class node;
  7.        
  8. private:
  9.     node *first, *last;
  10.     size_t node_count;
  11.    
  12. public:
  13.     class node
  14.     {
  15.         friend class list;
  16.        
  17.     private:
  18.         const list *owner;
  19.         node *Previous, *Next;
  20.        
  21.         node(const list *owner)
  22.             : Previous(0), Next(0);
  23.    
  24.     public:
  25.         T Value;
  26.        
  27.         ~node();
  28.        
  29.         node * previous();
  30.         node * next();
  31.     };
  32.    
  33.     list()
  34.         : node_count(0);
  35.    
  36.     list(const list &source)
  37.         : node_count(0);
  38.    
  39.     ~list();
  40.    
  41.     node * first_node() const;
  42.     node * last_node() const;
  43.    
  44.     size_t count() const;
  45.    
  46.     node * add_first(T value);
  47.     node * add_last(T value);
  48.     node * insert_before(node *n, T value);
  49.     node * insert_after(node *n, T value);
  50. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement