Lista: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Nikos 1993 (dyskusja | edycje)
Nie podano opisu zmian
→‎Implementacja listy: usunięty opis niezgodne z rysunkiem
Linia 17:
* '''lista jednokierunkowa''' - w każdym elemencie listy jest przechowywane odniesienie tylko do jednego sąsiada (następnika lub poprzednika).<br />[[grafika:Singly-linked-list.svg]]
* '''lista dwukierunkowa''' - w każdym elemencie listy jest przechowywane odniesienie zarówno do następnika jak i poprzednika elementu w liście. Taka reprezentacja umożliwia swobodne przemieszczanie się po liście w obie strony.<br />[[grafika:Doubly-linked-list.svg]]
* '''lista cykliczna''' - następnikiem ostatniego elementu jest pierwszy element, a poprzednikiem pierwszego ostatni. Po liście można więc przemieszczać się cyklicznie. Nie ma w takiej liście charakterystycznego ogona (ani głowy), często rozpoznawanego po tym, że jego następnik jest pusty (NULL).<br />[[grafika:Circularly-linked-list.svg]]
* '''lista z wartownikiem''' - lista z wyróżnionym elementem zwanym wartownikiem. Jest to specjalnie oznaczony element niewidoczny dla programisty wykorzystującego listę. Pusta lista zawiera wtedy tylko wartownika. Zastosowanie wartownika znacznie upraszcza implementację operacji na listach.