# SortedList A fast sorted list data structure in rust, inspired by the python library [Sorted Containers](https://grantjenks.com/docs/sortedcontainers/) This repository is a work in progress. See [Usage](#usage) and [Documentation](#documentation) for available features. ## Benchmark Tests and Results - [v0.2.1](./benchmark_results/v0.2.1/result.md) ## Usage ```rust use sortedlist_rs::SortedList; let array = vec![90, 19, 25]; let mut sorted_list = SortedList::from(array); println!("{:?}", sorted_list); // [19, 25, 90] sorted_list.insert(100); sorted_list.insert(1); sorted_list.insert(20); println!("{:?}", sorted_list); // [1, 19, 20, 25, 90, 100] let x = sorted_list.remove(3); assert_eq!(25, x); // removed the 3-rd smallest (0-indexed) element. assert_eq!(&20, sorted_list.kth_smallest(2)); assert_eq!(20, sorted_list[2]); println!("{:?}", sorted_list); // [1, 19, 20, 90, 100] ``` ## Documentation https://docs.rs/sortedlist-rs/latest/sortedlist_rs/