[c++] Kolejka wskaźnikowa
Kolejki są listami, których elementy można wstawiać z jednego końca (rear-tył) a usuwać z
drugiego (front - przód).
Enqueue(x) – wstawia element x na koniec kolejki
Operacja Enqueue polega na: - stworzeniu nowej komórki: - wstawieniu komórki na koniec kolejki - uaktualnieniu wartości zmiennej rear tak, aby wskazywała na nowo utworzoną komórkę
Dequeue - usuwa element z początku kolejki.
polega na:
- sprawdzeniu, czy kolejka nie jest pusta - jeżeli nie jest pusta, to:
• zapamiętujemy dotychczasową głowę w zmiennej pomocniczej p
• aktualizujemy pole front tak, aby wskazywało na dotychczasowy pierwszy element, który od tej pory będzie głową
• usuwamy z pamięci (zwalniamy pamięć) element wskazywany przez p (wcześniej będący głową)
Destruktor: -zwalnia pamięć przydzieloną na elementy kolejki
Empty: -zwraca prawdę, gdy kolejka jest pusta, fałsz wpp.
FrontElem: -sprawdza, czy kolejka nie jest pusta -jeśli nie jest pusta zwraca pierwszy element
klik:
Enqueue(x) – wstawia element x na koniec kolejki
Operacja Enqueue polega na: - stworzeniu nowej komórki: - wstawieniu komórki na koniec kolejki - uaktualnieniu wartości zmiennej rear tak, aby wskazywała na nowo utworzoną komórkę
Dequeue - usuwa element z początku kolejki.
polega na:
- sprawdzeniu, czy kolejka nie jest pusta - jeżeli nie jest pusta, to:
• zapamiętujemy dotychczasową głowę w zmiennej pomocniczej p
• aktualizujemy pole front tak, aby wskazywało na dotychczasowy pierwszy element, który od tej pory będzie głową
• usuwamy z pamięci (zwalniamy pamięć) element wskazywany przez p (wcześniej będący głową)
Destruktor: -zwalnia pamięć przydzieloną na elementy kolejki
Empty: -zwraca prawdę, gdy kolejka jest pusta, fałsz wpp.
FrontElem: -sprawdza, czy kolejka nie jest pusta -jeśli nie jest pusta zwraca pierwszy element
klik:
Komentarze
Prześlij komentarz