A linked list is a linear sequence of structures joined together by
pointers. Each node's pointer links to the next node in the sequence.
Linked lists have two main advantages over one dimensional arrays: they
can be sorted easily simply by redirecting pointers, and they can be
made any length at all dynamically.
Here is an example of a structure type from a linked list:
Here the value member holds the actual content of the node, in
this case a double-precision floating-point number, and the next
member points to the next node in the list.
You will often encounter another basic kind of linked list, called
a doubly-linked list. Each node in a doubly-linked list contains
not only a pointer to the next node, but also to the previous node.
This kind of list makes it easier to determine what the node preceding
a node is, as well as the node succeeding it.