Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Potrzebne biblioteki do tego programu:
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- //Program tworzący liste jednokierunkową oraz wyświetla ją
- //Krok 1 - zdefiniowanie klasy Kulka
- class Kulka
- {
- public:
- //Tworzymy zmienna calkowitą v, która będzie przyjmowała wartosci kulki (losowe)
- int v;
- //Tworzymy wskaznik klasy NEXT, po ktorym będziemy tworzyć liste jednokierunkową
- Kulka *next;
- //Tutaj mamy konstruktor klasy Kulka i przypisanie w nim wartosci zaimplementowanych wartosci
- Kulka()
- {
- v=rand()%10;
- next=0;
- }
- //Tutaj mamy funkcję, ktora bedzie tworzyła liste 10 kulek o wartosciach (0-10)
- void add(Kulka *t)
- {
- for(int i=0; i<10; i++)
- {
- t->next=new Kulka;
- t=t->next;
- }
- //wyjasnienie linii 30 (t->next=new Kulka) -> ze wskaznika t, ktory wrzucilismy do elementow funkcji
- //wybierz wskaznik NEXT i przypisz mu funkcje wbudowana "new Kulka"
- //czyli na zdrowy rozum - na wskazniku "next" wskaznika "t" utworz nowa kulke
- //wyjasnienie linii 31 (t=t->next) -> przesun dzialanie funkcji na wskaznik t ktory jest ostatnim elementem
- //tworzacej sie listy jednokierunkowej
- }
- //tutaj mamy funkcje do wyswietlenia utworzonej listy jednokierunkowej
- void show()
- {
- //Jesli wskaznik next ( czyli jego wartosc) jest rozna od zera // if(next!=0) inaczej zapisane// to rob to
- //co jest ponizej:
- if(next)
- {
- cout<<v<<" ";
- next->show();
- }
- //Wyswietlanie kolejno wartosci kulek listy jednokierunkowej
- //"Jak juz wyswietlisz wartosc to wywolaj sie jeszcze raz dotad az next bedzie rowny 0
- //czyli dotad az dojdziemy do ostatniego utworzonego obiektu
- //bo nie wiem czy wiesz ale ostatnia kulka na liscie
- //ma wskaznik next ktory ma wartosc 0
- //bo tak ma zdefiniowane w konstruktorze (linijka 22)
- }
- };
- //Przechodzimy do maina:
- int main()
- {
- //Tworzymy sobie pierwszy wskaznik, ktory bedzie pierwsza kulka na liscie
- Kulka *root=new Kulka;
- //Tworzymy sobie wskaznik pomocniczy o nazwie t
- //Poniewaz nie chcemy dzialac na oryginalnych danych a na pomocniczych
- Kulka *t;
- //Przypisanie wartosci wskaznika root do t
- t=root;
- //Wywolanie wyzej napisanych funkcji:
- //Nie zapominamy o tym, ze do funkcj add wpisujemy wskaznik t jako argument!
- root->add(t);
- //Pokazanie listy w oknie
- root->show();
- cout<<endl;
- //No i koniec!
- return 0;
- }
- //Created: Adam Kwaśniak
- //Student od Poznan University of Technology
- //Electronic and Comunications - semester third
- //21 years old
- //passion -> tibia, woman and differential equations
- //:->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement