Lista to struktura danych służąca do reprezentacji zbiorów dynamicznych, w której elementy ułożone są w liniowym porządku.
Rozróżniane są dwa podstawowe rodzaje list:
- lista jednokierunkowa w której z każdego elementu możliwe jest przejście tylko do jego następnika
- lista dwukierunkowa w której z każdego elementu możliwe jest przejście do jego poprzednika oraz następnika