xxx · ix · mmxxvi

Projects

rust-skiplist

A skip list data structure for Rust

View on GitHub ↗
stars
111
forks
18
watchers
111
open issues
15
latest release
v1.2.0 · 18 Sep 2026
pull requests
13 open PRs

Recent commits

  • d9a63bbrefactor: make cursor modules privateJP-Ellis · 1w ago
  • dcba3fafeat: add unchecked cursor insertsJP-Ellis · 1w ago
  • dc3ef24feat: add cursor API for ordered typesJP-Ellis · 6mo ago
  • ead32cachore: add codecov config with toleranceJP-Ellis · 1w ago

A skip list is a probabilistic data structure that provides O(log n) average search, insertion, and deletion. It has the same asymptotic complexity as a balanced binary search tree, with a simpler implementation.

This crate provides SkipList<T> and OrderedSkipList<T>, both implementing the standard Rust collection traits (IntoIterator, FromIterator, Extend).

Quick Start

use skiplist::OrderedSkipList;

let mut list = OrderedSkipList::new();
list.insert(3);
list.insert(1);
list.insert(4);

assert_eq!(list.front(), Some(&1));
assert_eq!(list.len(), 3);

The crate is available on crates.io.