Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include <string>
  2. using namespace std;
  3.  
  4. template <class  T> class list;
  5.  
  6. template <class  T> class Node{
  7.     friend class list<T>;
  8. public:
  9.     T data;
  10.     Node *next;
  11.     Node *prev;
  12.  
  13.     Node(){ next = prev = NULL; };
  14. };
  15.  
  16. template <class  T> class list{
  17. public:
  18.     typedef Node<T> * Position;
  19.     list();
  20.     ~list();
  21.     Position  first();
  22.     Position  last();
  23.     bool isEmpty();
  24.     void clear();
  25.  
  26. private:
  27.     Position fir, las;
  28.     int size;
  29. };
  30.  
  31. template <class T>
  32. list<T>::list(){
  33.     size = 0;
  34.     fir = las = NULL;
  35. }
  36.  
  37. template <class  T>
  38. typename list<T>::Position  list<T>::first(){
  39.     return fir;
  40. }
  41.  
  42. template <class  T>
  43. typename list<T>::Position   list<T>::last(){
  44.     return las;
  45. }
  46.  
  47. template <class  T>
  48. bool list<T>::isEmpty(){
  49.     return first() == NULL;
  50. }
  51.  
  52. template <class  T>
  53. void list<T>::clear(){
  54.     Position temp = fir;
  55.  
  56.     while (temp != NULL){
  57.         Position temp2 = temp;
  58.         temp = temp->next;
  59.         delete temp2;
  60.     }
  61.  
  62.     fir = las = NULL;
  63.  
  64.     size = 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement