Linked list: Computer science, Data structure, Reference (computer science), Abstract data type, Stack (data structure), Queue (data structure), Hash table

In computer science, a linked list is a data structure that consists of a sequence of data records such that in each record there is a field that contains a reference (i.e., a link) to the next record in the sequence. Linked lists are among the simplest and most common data structures, and are used to implement many important abstract data structures, such as stacks, queues, hash tables, symbolic expressions, skip lists, and many more. The principal benefit of a linked list over a conventional array is that the order of the linked items may be different from the order that the data items are stored in memory or on disk. For that reason, linked lists allow insertion and removal of nodes at any point in the list, with a constant number of operations. On the other hand, linked lists by themselves do not allow random access to the data, or any form of efficient indexing. Thus, many basic operations ? such as obtaining the last node of the list, or finding a node that contains a given datum, or locating the place where a new node should be inserted ? may require scanning most of the list elements. Linked lists can be implemented in most languages.