A sequence of separately allocated nodes, each holding a value and a pointer to the next one (a doubly linked list also has a pointer to the previous one). Inserting or removing next to a node you already hold is O(1), but reaching the i-th element means walking i pointers. Compare a dynamic array.
Linked list
A sequence of separately allocated nodes, each holding a value and a pointer to the next one (and sometimes the previous one). Cheap to splice, slow to index.