A simple B-tree implementation in Rust.
- Configurable maximum number of elements per node (
max_count
) - Supports insertion, search, and deletion
- Simple and easy-to-use API
Add the following to your Cargo.toml
(replace the URL with your repository):
[dependencies]
btree-rust = { git = "https://github.com/shunm-999/btree-rust" }
use btree_rust::Btree;
fn main() {
// Create a B-tree with a maximum of 3 elements per node
let mut tree = Btree::new(3);
// Insert elements
tree.insert(10, 100);
tree.insert(20, 200);
tree.insert(30, 300);
// Search for a key
if let Some((k, v)) = tree.search(20) {
println!("key: {}, value: {}", k, v);
}
// Delete a key
tree.delete(20);
assert_eq!(tree.search(20), None);
}
Btree::new(max_count: usize)
: Create a new B-treeinsert(&mut self, key: i32, value: i32)
: Insert a key-value pairsearch(&self, key: i32) -> Option<(i32, i32)>
: Search for a keydelete(&mut self, key: i32)
: Delete a key
MIT