Documentation

FMMidgard.DataStructures.List.Ordered

Ordered Linked List Implementation #

Ordered lists are implemented on top of unordered lists. Each node contains the information necessary to know where a given key can be inserted there or not.

Given a node {key, data, link} can be interpreted as the range to insert after this node as (key, link.data?). In other words, after node {key, data, link}, we can insert nodes with key knew such that key < knew && knew <? link (link may be .none i.e. inf).