Każdy pojedynczy element listy to takie pudełko. W tym pudełku mamy:
- zmienną, w której zapisujemy wartość tego elementu w liście
- wskaźnik pokazujący na następny element listy
- jeśli element listy jest tym ostatnim, to jego wskaźnik pokazuje na pierwszy element
W związku z czym będąc przy trzecim elemencie listy mamy do dyspozycji: wartość tego elementu oraz wskaźnik do następnego. Siłą rzeczy jedyne co możemy zrobić, to albo odczytać, usunąć tę wartość, albo przeskoczyć na następny element. To nazywamy listą jednokierunkową.
W dwukierunkowej jeden element listy zawiera jeszcze jeden wskaźnik (wstecz), więc będąc przy trzecim elemencie mamy jeszcze do dyspozycji skok w tył :)