Advertisement
Pi0trek

Lista_do_pracy

Dec 2nd, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.78 KB | None | 0 0
  1. #include<iostream>
  2. class Kontenerek;
  3. class Lista;
  4.  
  5. using namespace std;
  6.  
  7.  
  8.  
  9. class Kontenerek
  10. {
  11. public:
  12.     int wartosc;
  13.     Kontenerek *poprzedni;
  14.     Kontenerek *nastepny;
  15.     Kontenerek();
  16. };
  17. Kontenerek::Kontenerek()
  18. {
  19.     poprzedni = nullptr;
  20.     nastepny = nullptr;
  21. }
  22.  
  23.  
  24. //*******************************************************************************************************************
  25. class Lista
  26. {
  27. public:
  28.     Kontenerek *pierwszy;
  29.     Lista();
  30.     void dodaj_Kontenerek(int wartosc_do_wstawienia);
  31.     void usun_kontenerek(int wartosc_do_usunieca);
  32.     Kontenerek *znajdz_kontenerek(int Wartosc_do_szukania);
  33. };
  34. Lista::Lista()
  35. {
  36.     pierwszy = nullptr;
  37. }
  38. //------------------------------------------------------------------------------------------------------------------
  39. void Lista::dodaj_Kontenerek(int wartosc_do_wstawienia)
  40. {
  41.     Kontenerek *nowy_Kontenerek = new Kontenerek;
  42.     nowy_Kontenerek->wartosc = wartosc_do_wstawienia;
  43.  
  44.     if (pierwszy == nullptr)
  45.     {
  46.         pierwszy = nowy_Kontenerek;
  47.     }
  48.     else
  49.     {
  50.         Kontenerek *temp = nowy_Kontenerek;
  51.         while (temp->nastepny != nullptr)
  52.         {
  53.             temp = temp->nastepny;
  54.         }
  55.         temp->nastepny = nowy_Kontenerek;
  56.         nowy_Kontenerek->poprzedni = temp;
  57.         temp = nullptr;
  58.     }
  59. }
  60. //------------------------------------------------------------------------------------------------------------------
  61. void Lista::usun_kontenerek(int wartosc_do_usunieca)
  62. {
  63.     if (pierwszy == nullptr)
  64.     {
  65.         return;
  66.     }
  67.  
  68.     else
  69.     {
  70.         Kontenerek *temp;
  71.         temp = pierwszy;
  72.         if (pierwszy->wartosc = wartosc_do_usunieca)
  73.         {
  74.  
  75.             pierwszy = temp->nastepny;
  76.             pierwszy->poprzedni = nullptr;
  77.  
  78.             delete temp;
  79.             temp = nullptr;
  80.         }
  81.         else
  82.         {
  83.  
  84.             while (temp->nastepny != nullptr)
  85.             {
  86.                 if (temp->nastepny->wartosc == wartosc_do_usunieca)
  87.                 {
  88.                     break;
  89.                 }
  90.                 temp = temp->nastepny;
  91.             }
  92.             if (temp->nastepny->nastepny == nullptr)
  93.             {
  94.                 delete temp->nastepny;
  95.                 temp->nastepny = nullptr;
  96.             }
  97.             else
  98.             {
  99.                 Kontenerek *do_usuniecia;
  100.                 do_usuniecia = temp->nastepny;
  101.                 temp->nastepny = temp->nastepny->nastepny;
  102.                 temp->nastepny->poprzedni = temp;
  103.                 delete do_usuniecia;
  104.                 do_usuniecia = nullptr;
  105.             }
  106.         }
  107.     }
  108. }
  109. //------------------------------------------------------------------------------------------------------------------
  110. Kontenerek *Lista::znajdz_kontenerek(int wartosc_do_szukania)
  111. {
  112.     if (pierwszy == nullptr)
  113.     {      
  114.         return nullptr;
  115.     }
  116.     else
  117.     {
  118.         Kontenerek *tmp =pierwszy;
  119.        
  120.         while (tmp->wartosc != wartosc_do_szukania)
  121.         {
  122.             if (tmp->nastepny == nullptr)
  123.             {
  124.                 return nullptr;
  125.             }
  126.             else
  127.             {
  128.                 tmp = tmp->nastepny;
  129.             }
  130.         }
  131.  
  132.         return tmp;
  133.     }
  134. }
  135. //*******************************************************************************************************************
  136.  
  137.  
  138. int main()
  139. {
  140.     return 0;
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement