Cassimus

linkedList

Oct 8th, 2025
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Para
  6. {
  7.     int dana;
  8.     Para *nastepna;
  9.  
  10.     Para(int wartosc):dana(wartosc),nastepna(nullptr)
  11.     {}
  12. };
  13.  
  14. class LinkedList
  15. {
  16. public:
  17.     LinkedList():poczatek(nullptr) {};
  18.  
  19.     void dodaj(int wartosc)
  20.     {
  21.         Para *nowaPara = new Para(wartosc);
  22.  
  23.         if (poczatek == nullptr)
  24.         {
  25.             poczatek = nowaPara;
  26.         }
  27.         else
  28.         {
  29.             Para *temp = poczatek;
  30.             while (temp->nastepna != nullptr)
  31.             {
  32.                 temp = temp->nastepna;
  33.             }
  34.  
  35.             temp->nastepna = nowaPara;
  36.         }
  37.     }
  38.  
  39.     int pobierz(int index)
  40.     {
  41.         Para *temp = poczatek;
  42.  
  43.         int i = 0;
  44.         while (temp != nullptr)
  45.         {
  46.             if (i == index)
  47.                 return temp->dana;
  48.  
  49.             i++;
  50.             temp = temp->nastepna;
  51.         }
  52.         return 0;
  53.     }
  54.  
  55.     void wyczysc()
  56.     {
  57.         Para *temp = poczatek;
  58.  
  59.         while (temp != nullptr)
  60.         {
  61.             Para *next = temp->nastepna;
  62.  
  63.             delete temp;
  64.                
  65.             temp = next;
  66.         }
  67.         poczatek = nullptr;
  68.     }
  69.  
  70.     ~LinkedList()
  71.     {
  72.         wyczysc();
  73.     };
  74.  
  75. private:
  76.     Para *poczatek;
  77. };
  78.  
  79. int main()
  80. {
  81.     LinkedList lista;
  82.  
  83.     lista.dodaj(4);
  84.     lista.dodaj(8);
  85.  
  86.     cout << "Pierwszy element listy: " << lista.pobierz(0) << endl;
  87.     cout << "Drugi element listy: " << lista.pobierz(1) << endl;
  88.  
  89.     lista.wyczysc();
  90.  
  91.     cout << "Pierwszy element listy: " << lista.pobierz(0) << endl;
  92.     cout << "Drugi element listy: " << lista.pobierz(1) << endl;
  93.  
  94. }
  95.  
  96.  
Advertisement
Add Comment
Please, Sign In to add comment