Singly Linked Lists Overview

A singly linked list is an ordered, non-indexed list of elements, that can be traversed only from start to end.

Purpose

This section of documentation covers the APi that manipulates and manages a singly-linked list: an ordered, non-indexed list of elements, that can be traversed only from start to end.

The API contains all the necessary functionality for singly-linked lists. It is possible to derive from its classes to add additional features.

Description

The API has three key concepts: list header (TSglQue), link class (TSglQueLink), and iterator class (TSglQueIter).

General properties

Note the following properties of singly-linked lists:

  • elements can be accessed through iterating through the list, and added to the start and end of a list, but not to the middle

  • elements in a linked list need not be objects of the same type but ought to be derived from the same base class

List header

The list header supplies the behaviour for managing a singly-linked list of objects.

The list header interface is provided by TSglQue <class T>. The T template parameter specifies the type of objects in the list.

Link class

To be a member of a singly-linked list, an object must contain an instance of thelink class as a data member.

The link class interface is provided by TSglQueLink.

Iterator class

The iterator class supplies the behaviour for moving through the elements of a list.

The iterator class interface is provided by TSglQueIter.