Advertisement
Guest User

Mateusz Kwiatkowski - program listy jednokierunkowej

a guest
Jan 22nd, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.77 KB | None | 0 0
  1. //Potrzebne biblioteki do tego programu:
  2. #include <iostream>
  3. #include <cstdlib>
  4. #include <ctime>
  5.  
  6. using namespace std;
  7.  
  8. //Program tworzący liste jednokierunkową oraz wyświetla ją
  9. //Krok 1 - zdefiniowanie klasy Kulka
  10.  
  11. class Kulka
  12. {
  13.     public:
  14.     //Tworzymy zmienna calkowitą v, która będzie przyjmowała wartosci kulki (losowe)
  15.     int v;
  16.     //Tworzymy wskaznik klasy NEXT, po ktorym będziemy tworzyć liste jednokierunkową
  17.     Kulka *next;
  18.     //Tutaj mamy konstruktor klasy Kulka i przypisanie w nim wartosci zaimplementowanych wartosci
  19.     Kulka()
  20.     {
  21.         v=rand()%10;
  22.         next=0;
  23.     }
  24.     //Tutaj mamy funkcję, ktora bedzie tworzyła liste 10 kulek o wartosciach (0-10)
  25.     void add(Kulka *t)
  26.     {
  27.         for(int i=0; i<10; i++)
  28.         {
  29.             t->next=new Kulka;
  30.             t=t->next;
  31.         }
  32.         //wyjasnienie linii 30 (t->next=new Kulka) -> ze wskaznika t, ktory wrzucilismy do elementow funkcji
  33.         //wybierz wskaznik NEXT i przypisz mu funkcje wbudowana "new Kulka"
  34.         //czyli na zdrowy rozum - na wskazniku "next" wskaznika "t" utworz nowa kulke
  35.         //wyjasnienie linii 31 (t=t->next) -> przesun dzialanie funkcji na wskaznik t ktory jest ostatnim elementem
  36.         //tworzacej sie listy jednokierunkowej
  37.     }
  38.     //tutaj mamy funkcje do wyswietlenia utworzonej listy jednokierunkowej
  39.     void show()
  40.     {
  41.     //Jesli wskaznik next ( czyli jego wartosc) jest rozna od zera // if(next!=0) inaczej zapisane// to rob to
  42.     //co jest ponizej:
  43.         if(next)
  44.         {
  45.             cout<<v<<" ";
  46.             next->show();
  47.         }
  48.     //Wyswietlanie kolejno wartosci kulek listy jednokierunkowej
  49.     //"Jak juz wyswietlisz wartosc to wywolaj sie jeszcze raz dotad az next bedzie rowny 0
  50.     //czyli dotad az dojdziemy do ostatniego utworzonego obiektu
  51.     //bo nie wiem czy wiesz ale ostatnia kulka na liscie
  52.     //ma wskaznik next ktory ma wartosc 0
  53.     //bo tak ma zdefiniowane w konstruktorze (linijka 22)
  54.     }
  55. };
  56. //Przechodzimy do maina:
  57. int main()
  58. {
  59.     //Tworzymy sobie pierwszy wskaznik, ktory bedzie pierwsza kulka na liscie
  60.     Kulka *root=new Kulka;
  61.     //Tworzymy sobie wskaznik pomocniczy o nazwie t
  62.     //Poniewaz nie chcemy dzialac na oryginalnych danych a na pomocniczych
  63.     Kulka *t;
  64.     //Przypisanie wartosci wskaznika root do t
  65.     t=root;
  66.     //Wywolanie wyzej napisanych funkcji:
  67.     //Nie zapominamy o tym, ze do funkcj add wpisujemy wskaznik t jako argument!
  68.     root->add(t);
  69.     //Pokazanie listy w oknie
  70.     root->show();
  71.     cout<<endl;
  72.     //No i koniec!
  73.     return 0;
  74. }
  75.  
  76. //Created: Adam Kwaśniak
  77. //Student od Poznan University of Technology
  78. //Electronic and Comunications - semester third
  79. //21 years old
  80. //passion -> tibia, woman and differential equations
  81. //:->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement