@thi.ng/dcons
Comprehensive doubly linked list structure with:
- ES6 iterator support
- Stack & queue API (front and/or back)
- Random node access (read / write, O(n/2))
- Node insertion (also w/ custom comparator)
- Node finding (O(n))
- Node swaps (O(1))
- Reversing (O(n/2))
- Rotation (left / right) (O(1))
- Shuffling
- Slicing (sublist copies)
- Splicing (delete and/or insert)
release()
(emptying, GC friendly)concat()
/ into()
map()
/ filter()
/ reduce()
compare()
/ equiv()
toJSON()
transform (-> array)
Installation
yarn add @thi.ng/dcons
Usage
DCons = require("@thi.ng/dcons").DCons;
import { DCons } from "@thi.ng/dcons";
API
list = new DCons([1, 2, 3]);
list.length
[...list]
Head centric
cons()
first()
drop()
setHead()
Tail centric
into()
push()
peek()
pop()
setTail()
Random Access
Insertion
insertBefore()
insertAfter()
insertBeforeNth()
insertAfterNth()
insertSorted()
Finding
Structure
copy()
concat()
slice()
splice()
swap()
shuffle()
reverse()
rotateLeft()
rotateRight()
release()
TODO...
Authors
License
© 2017-2018 Karsten Schmidt // Apache Software License 2.0