ii · xi · mmxxvi

Projects

rust-skiplist

A skip list data structure for Rust

View on GitHub ↗
stars
111
forks
18
watchers
111
open issues
6
latest release
v2.0.1 · 28 Oct 2026
pull requests
4 open PRs

Recent commits

  • b9b9cb9docs: add 2.0.1 performance highlightsJP-Ellis · 5d ago
  • abcab7btest: trim slow tests under MiriJP-Ellis · 5d ago
  • 075d2a0perf(node): lay out node fields hot-firstJP-Ellis · 1w ago
  • d511e14test(bench): add opt-in large-payload workloadsJP-Ellis · 1w ago
  • 6e35d73perf: grow the frontier only for taller towersJP-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.