#sorting #collection #node #ordered #insertion #access #removal

skiplist

Skiplist implementation in rust, providing fast insertion and removal. A normal skiplist is implemented, as well as an ordered skiplist and a skipmap.

17 releases

0.5.1 Apr 4, 2023
0.5.0 Mar 31, 2023
0.4.0 Jun 29, 2021
0.3.0 Feb 10, 2020
0.2.2 Mar 5, 2015

#157 in Data structures

Download history 424/week @ 2023-12-23 800/week @ 2023-12-30 1017/week @ 2024-01-06 715/week @ 2024-01-13 992/week @ 2024-01-20 770/week @ 2024-01-27 648/week @ 2024-02-03 903/week @ 2024-02-10 931/week @ 2024-02-17 1180/week @ 2024-02-24 970/week @ 2024-03-02 1101/week @ 2024-03-09 1034/week @ 2024-03-16 1086/week @ 2024-03-23 1150/week @ 2024-03-30 921/week @ 2024-04-06

4,339 downloads per month
Used in 23 crates (10 directly)

MIT license

195KB
4K SLoC

Rust Skiplist

crates.io crates.io Codecov branch Build Status

A skiplist provides a way of storing data with log(i) access, insertion and removal for an element in the ith position.

There are three kinds of collections defined here:

  • SkipList This behaves like nearly any other double-ended list.
  • OrderedSkipList Ensures that the elements are always sorted. Still allows for access nodes at a given index.
  • SkipMap A map in which the keys are ordered.

Documentation can be found on docs.rs and the cargo crate can be found on crates.io.

Dependencies

~310KB