There are multiple types of lists including linked lists, doubly linked lists, multiple linked lists, circular linked lists, queues, and stacks.
In this section, we will present a simple linked list that is one of the simplest and most popular data structures in imperative programming languages.
A linked list is a linear collection of data elements called nodes pointing to the next node using pointers. Linked lists contain their data in a linear and sequential manner. Simply put, each node is composed of data and a reference to the next node in the sequence, as shown in the following figure:
Let's start with a simple version:
enum LinkedList<Element: ...