[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:




Komentarze

Popularne posty z tego bloga

[c++] Lista wskaznikowa

[c++] słowniki - haszowanie - haszowanie otwarte

[ANSI C][LINUX] Wysyłanie i obsługa sygnałów