Advertisement
Guest User

Untitled

a guest
Feb 29th, 2020
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.74 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct ListA
  5. {
  6.     int value;
  7.     ListA* next;
  8.     ListA(int val = 0, ListA* p = NULL) //конструктор
  9.     {
  10.         value = val;
  11.         next = p;
  12.     }
  13. };
  14.  
  15. struct ListB
  16. {
  17.     int value;
  18.     ListB* next;
  19.     ListB(int val = 0, ListB* p = NULL)
  20.     {
  21.         value = val;
  22.         next = p;
  23.     }
  24. };
  25.  
  26. struct ListC
  27. {
  28.     int value;
  29.     ListC* next;
  30.     ListC(int val = 0, ListC* p = NULL)
  31.     {
  32.         value = val;
  33.         next = p;
  34.     }
  35. };
  36.  
  37. ListA* Add_last(int n, ListA* head1)
  38. {
  39.     ListA* q = new ListA(n), * p = head1;
  40.  
  41.     if (head1 == NULL) return q; // если список пуст
  42.     while (p->next != NULL) // «идем в конец списка»
  43.         p = p->next;
  44.     p->next = q;
  45.     return head1;
  46. }
  47.  
  48. ListB* Add_last(int n, ListB* head2)
  49. {
  50.     ListB* q = new ListB(n), * p = head2;
  51.  
  52.     if (head2 == NULL) return q;
  53.     while (p->next != NULL)
  54.         p = p->next;
  55.     p->next = q;
  56.     return head2;
  57. }
  58.  
  59. ListC* Add_last(int n, ListC* head3)
  60. {
  61.     ListC* q = new ListC(n), * p = head3;
  62.  
  63.     if (head3 == NULL) return q;
  64.     while (p->next != NULL)
  65.         p = p->next;
  66.     p->next = q;
  67.     return head3;
  68. }
  69.  
  70. ListA* Creat_list1(const int& N)
  71. {
  72.     cout << "Введите элементы списка L1" << endl;
  73.     int elm;
  74.     ListA* head1 = NULL;
  75.     for (int i = 0; i < N; i++)
  76.     {
  77.         cin >> elm;
  78.         head1 = Add_last(elm, head1);
  79.     }
  80.     return head1;
  81. }
  82.  
  83. ListB* Creat_list2(const int& N)
  84. {
  85.     cout << "Введите элементы списка L2" << endl;
  86.     int elm;
  87.     ListB* head2 = NULL;
  88.     for (int i = 0; i < N; i++)
  89.     {
  90.         cin >> elm;
  91.         head2 = Add_last(elm, head2);
  92.     }
  93.     return head2;
  94. }
  95.  
  96. //ListC* Creat_list3(const int& N)
  97. //{
  98.    
  99. //}
  100.  
  101. void Print_list(ListA* head1)
  102. {
  103.     cout << "Вывод L1: " << endl;
  104.     ListA* p = head1;
  105.     if (p == NULL) puts("Список пустой");
  106.     else
  107.         while (p != NULL)
  108.         {
  109.             cout << p->value;
  110.             p = p->next;
  111.         }
  112. }
  113.  
  114. void Print_list(ListB* head2)
  115. {
  116.     cout << "Вывод L2: " << endl;
  117.     ListB* p = head2;
  118.     if (p == NULL) puts("Список пустой");
  119.     else
  120.         while (p != NULL)
  121.         {
  122.             cout << p->value;
  123.             p = p->next;
  124.         }
  125. }
  126.  
  127. int main()
  128. {
  129.     setlocale(LC_ALL, "Russian");
  130.     int N;
  131.     ListA* head1 = NULL;
  132.     cout << "Введите число элементов L1: ";
  133.     cin >> N;
  134.     head1 = Creat_list1(N);
  135.  
  136.     ListB* head2 = NULL;
  137.     cout << "Введите число элементов L2: ";
  138.     cin >> N;
  139.     head2 = Creat_list2(N);
  140.     Print_list(head1);
  141.     cout << endl;
  142.     Print_list(head2);
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement