Advertisement
Guest User

addrem1

a guest
Mar 25th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.48 KB | None | 0 0
  1. #include "head.hpp"
  2.  
  3. void add_beg(lista *&beg, lista *&end) {
  4.     lista *temp;
  5.     temp = new lista;
  6.  
  7.     temp->name = ((char)(rand() % 26 + 97));
  8.     for (int i = 0; i < rand() % 8 + 8; i++) { temp->name += ((char)(rand() % 26 + 97)); };
  9.     if (rand() % 2 == 1) {
  10.         temp->surn = "qwertyuiop";
  11.     }
  12.     else {
  13.         temp->surn = ((char)(rand() % 26 + 97));
  14.         for (int i = 0; i < rand() % 8 + 8; i++) { temp->surn += ((char)(rand() % 26 + 97)); };
  15.     };
  16.     temp->pesel = ((char)(rand() % 10 + 48));
  17.     for (int i = 0; i < 11; i++) { temp->pesel += ((char)(rand() % 10 + 48)); };
  18.     temp->age = rand() % 50 + 18;
  19.  
  20.     temp->next = nullptr;
  21.     temp->prev = nullptr;
  22.  
  23.     temp->next = beg;
  24.     beg = temp;
  25.  
  26.     if (temp->next != nullptr) {
  27.         temp->next->prev = temp;
  28.     }
  29.     else {
  30.         end = temp;
  31.     };
  32.  
  33.     std::cout << "\nDodano element na poczatku listy.";
  34.     return;
  35. }
  36.  
  37. void add_end(lista *&beg, lista *&end) {
  38.     lista *temp;
  39.     temp = new lista;
  40.  
  41.     temp->name = ((char)(rand() % 26 + 97));
  42.     for (int i = 0; i < rand() % 8 + 8; i++) { temp->name += ((char)(rand() % 26 + 97)); };
  43.     if (rand() % 2 == 1) {
  44.         temp->surn = "qwertyuiop";
  45.     }
  46.     else {
  47.         temp->surn = ((char)(rand() % 26 + 97));
  48.         for (int i = 0; i < rand() % 8 + 8; i++) { temp->surn += ((char)(rand() % 26 + 97)); };
  49.     };
  50.     temp->pesel = ((char)(rand() % 10 + 48));
  51.     for (int i = 0; i < 11; i++) { temp->pesel += ((char)(rand() % 10 + 48)); };
  52.     temp->age = rand() % 50 + 18;
  53.  
  54.     temp->next = nullptr;
  55.     temp->prev = nullptr;
  56.  
  57.     temp->prev = end;
  58.     end = temp;
  59.  
  60.     if (temp->prev != nullptr) {
  61.         temp->prev->next = temp;
  62.     }
  63.     else {
  64.         beg = temp;
  65.     };
  66.  
  67.     std::cout << "\nDodano element na koncu listy.";
  68.     return;
  69. }
  70.  
  71. void rem_beg(lista *&beg, lista *&end) {
  72.     lista *temp;
  73.    
  74.     if (beg == nullptr || end == nullptr) {
  75.         std::cout << "\nNic do usuniecia.";
  76.         return;
  77.     };
  78.  
  79.     if (beg == end) {
  80.         delete beg;
  81.         beg = nullptr;
  82.         end = nullptr;
  83.         std::cout << "\nUsunieto jedyny element.";
  84.         return;
  85.     };
  86.  
  87.     temp = beg->next;
  88.     beg->next->prev = nullptr;
  89.     delete beg;
  90.     beg = temp;
  91.  
  92.     std::cout << "\nUsunieto pierwszy element.";
  93.     return;
  94. }
  95.  
  96. void rem_end(lista *&beg, lista *&end) {
  97.     lista *temp;
  98.  
  99.     if (beg == nullptr || end == nullptr) {
  100.         std::cout << "\nNic do usuniecia.";
  101.         return;
  102.     };
  103.  
  104.     if (beg == end) {
  105.         delete beg;
  106.         beg = nullptr;
  107.         end = nullptr;
  108.         std::cout << "\nUsunieto jedyny element.";
  109.         return;
  110.     };
  111.  
  112.     temp = end->prev;
  113.     end->prev->next = nullptr;
  114.     delete end;
  115.     end = temp;
  116.  
  117.     std::cout << "\nUsunieto ostatni element.";
  118.     return;
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement