Skip to content

Latest commit

 

History

History
86 lines (48 loc) · 3.36 KB

File metadata and controls

86 lines (48 loc) · 3.36 KB

Lists

Table of contents


General information

🔗

🎥

📖

  • Ch. 3: Linked lists – Drozdek A. Data structures and algorithms in C++ – Cengage Learning (2012)

Singly linked lists

A singly linked list contains nodes which have a data field, and next field, which points to the next node in the list. In the C++ standard library a singly linked list is implemented in std::forward_list class template (also known as std::slist in some extensions before it was standardized). See std::forward_list – The standard library.

📖

  • Sec. 3.1: Singly linked lists – Drozdek A. Data structures and algorithms in C++ – Cengage Learning (2012)

📄


Doubly linked lists

A doubly linked list contains nodes which have a data field, and next and prev fields, which point to the next and to the previous nodes in the list, respectively. In the C++ standard library a doubly linked list is implemented in std::list class template. See std::list – The standard library.

🔗

📖

  • Sec. 3.2: Doubly linked lists – Drozdek A. Data structures and algorithms in C++ – Cengage Learning (2012)

XOR doubly linked lists

📝

  • If garbage collection is enabled, XOR linked list needs to declare its nodes reachable. For C++, see std::declare_reachable – C++ reference.

🔗

Circular lists

  • Sec. 3.3: Circular lists – Drozdek A. Data structures and algorithms in C++ – Cengage Learning (2012)

Skip lists

See Skip lists – Randomized algorithms and probabilistic data structures