bogolyubskiyalexey

Untitled

Mar 23rd, 2021
389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. tempalte<typename T>
  2. class MyList{
  3. private:
  4.     struct Elem {
  5.         T value;
  6.         Elem* forward_ptr = nullptr;
  7.         Elem* back_ptr = nullptr;
  8.     };
  9.     size_t size = 0;
  10.     Elem* first = nullptr;
  11.     Elem* last = nullptr;
  12.    
  13. public:
  14.     void Push_back(const T& new_val) {
  15.         Elem* in= new Elem{new_value, nullptr, nullptr};
  16.         if (size == 0) {
  17.             first = in;
  18.         } else {
  19.             last.forward_ptr = in;
  20.             in.back_ptr = last;
  21.         }
  22.         last = in;
  23.         ++size;
  24.     }
  25.     T Pop_back() {
  26.         T temp = last->value;
  27.         if (size == 1) {
  28.             delete first;
  29.             first = last = nullptr;
  30.         } else {
  31.             last->back_ptr->forward_ptr = nullptr;
  32.             Elem* tempPtr = last;
  33.             last = last->back_ptr;
  34.             delete tempPtr;
  35.         }
  36.         --size;
  37.         return temp;
  38.     }
  39. };
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
Advertisement
Add Comment
Please, Sign In to add comment