rand_set

Crates.iorand_set
lib.rsrand_set
version0.1.2
created_at2025-07-16 19:19:33.393172+00
updated_at2025-07-17 12:24:30.886165+00
descriptionA hash set with O(1) random element access and all standard set operations
homepagehttps://github.com/RonHachmon/rand_set
repositoryhttps://github.com/RonHachmon/rand_set
max_upload_size
id1756391
size21,714
Ron Hachmon (RonHachmon)

documentation

https://docs.rs/rand_set

README

rand_set

Crates.io Documentation License

A high-performance hash set implementation with O(1) random element access and all standard set operations.

Features

  • O(1) Random Access: Get random elements from the set in constant time
  • Standard Set Operations: All the operations you expect from a hash set
  • Memory Efficient: Optimized internal representation

Quick Start

Add this to your Cargo.toml:

[dependencies]
rand_set = "0.1"

Usage

use rand_set::RandSet;

let mut set = RandSet::new();
set.insert("hello");
set.insert("world");

// Fast containment check (works like HashSet)
assert!(set.contains(&"hello"));

// Unique feature: Get a random element in O(1)
if let Some(random_item) = set.get_rand() {
    println!("Random: {}", random_item);
}

License

This project is licensed under the MIT License - see the LICENSE file for details.

Commit count: 0

cargo fmt