SHARE
TWEET

dsad

allekco Nov 9th, 2019 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. struct Node
  2. {
  3.     int value;
  4.     Node* next;
  5.     Node *prev;       //Указатели на адреса следующего и предыдущего элементов списка
  6. };
  7.  
  8. class ListSequence {
  9. private:
  10.     int Length;
  11.     Node* head;
  12.     Node* tail;
  13. public:
  14.     void Append(int item) {
  15.         Node* tmp = new Node;               //Выделение памяти под новый элемент структуры
  16.         tmp->next = NULL;                   //Указываем, что изначально по следующему адресу пусто
  17.         tmp->value = item;
  18.         if (head = NULL) { //если список пустой
  19.             head = tmp;
  20.             tail = tmp;
  21.             tmp->prev = NULL;
  22.         }
  23.         else { //список не пустой
  24.             tmp->prev = tail;               //Указываем адрес на предыдущий элемент в соотв. поле
  25.             tail->next = tmp;               //Указываем адрес следующего за хвостом элемента
  26.             tail = tmp;
  27.         }
  28.     }
  29.    
  30.     void Show() {
  31.         Node* tmp = head;
  32.         while (tmp!=NULL) { //пока не дойдем до конца
  33.             cout << tmp->value << " ";        //Выводим каждое считанное значение на экран
  34.             tmp = tmp->next;
  35.         }
  36.         cout << "\n";
  37.     }
  38.  
  39.  
  40. };
  41.  
  42.  
  43. int main() {
  44.     ListSequence A;
  45.     A.Append(1);
  46.     A.Append(2);
  47.     A.Append(3);
  48.     A.Show();
  49.  
  50.  
  51.  
  52.     /*Sequence A;
  53.     A.newEmpty();
  54.     A.getLength();
  55.     cout << endl;
  56.     A.Append(23);
  57.     A.getLength();
  58.     A.GetFirst();
  59.     A.GetLast();
  60.     A.Get(0);
  61.     A.Get(-1);
  62.     A.Get(1);
  63.     cout << endl;
  64.     A.Append(43);
  65.     A.getLength();
  66.     A.Get(0);
  67.     A.Get(1);
  68.     A.Get(-1);
  69.     A.Get(2);
  70.     cout << endl;
  71.     A.Prepend(53);
  72.     A.getLength();
  73.     A.GetFirst();
  74.     A.GetLast();
  75.     A.Get(0);
  76.     A.Get(1);
  77.     A.Get(-1);
  78.     A.Get(3);
  79.     cout << endl;
  80.     Sequence A2;
  81.     A2 = A.GetSubsequence(1, 1);
  82.     A2.getLength();
  83.     A2.GetFirst();
  84.     A2.GetLast();
  85.     */
  86.     return 0;
  87. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top