#skip-list #sorting #collection

skiplist

Skiplist implementation in Rust for fast insertion and removal, including a normal skiplist, ordered skiplist, and skipmap

18 releases

Uses new Rust 2024

new 0.6.0 May 7, 2025
0.5.1 Apr 4, 2023
0.5.0 Mar 31, 2023
0.4.0 Jun 29, 2021
0.2.2 Mar 5, 2015

#160 in Data structures

Download history 606/week @ 2025-01-20 280/week @ 2025-01-27 633/week @ 2025-02-03 839/week @ 2025-02-10 531/week @ 2025-02-17 463/week @ 2025-02-24 417/week @ 2025-03-03 513/week @ 2025-03-10 392/week @ 2025-03-17 455/week @ 2025-03-24 360/week @ 2025-03-31 388/week @ 2025-04-07 588/week @ 2025-04-14 2262/week @ 2025-04-21 3125/week @ 2025-04-28 4835/week @ 2025-05-05

10,845 downloads per month
Used in 55 crates (13 directly)

MIT license

225KB
4.5K 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

~0.6–1MB
~22K SLoC