Skip to content

Latest commit

 

History

History
30 lines (22 loc) · 884 Bytes

README.md

File metadata and controls

30 lines (22 loc) · 884 Bytes

LinkedMapSet

A LinkedMapSet is an extension to MapSet that maintains ordering.

It does this by keeping pointers to previous and next elements based on insert order.

I built this to have a collection I can traverse in either direction, but also be able to remove items in less-than-linear time. I also didn't want something that needed to be sorted or rebalanced after each addition or removal.

This uses Map underneath, much like MapSet, so removing arbitrary items can happen in logarithmic time, rather than linear time that most sorted collections incur.

Installation

def deps do
  [
    {:linked_map_set, "~> 0.1.0"}
  ]
end

Usage

See the documentation for API reference and examples.