| 40 | } |
| 41 | |
| 42 | fn api_examples() { |
| 43 | println!("\n=== API Examples ==="); |
| 44 | |
| 45 | let mut tree = BPlusTreeMap::new(4).unwrap(); |
| 46 | |
| 47 | // Insert key-value pairs |
| 48 | tree.insert(10, "ten"); |
| 49 | tree.insert(20, "twenty"); |
| 50 | tree.insert(5, "five"); |
| 51 | |
| 52 | // Get values by key |
| 53 | assert_eq!(tree.get(&10), Some(&"ten")); |
| 54 | assert_eq!(tree.get(&99), None); |
| 55 | println!("Get 10: {:?}", tree.get(&10)); |
| 56 | println!("Get 99: {:?}", tree.get(&99)); |
| 57 | |
| 58 | // Update existing keys (returns old value) |
| 59 | let old_value = tree.insert(10, "TEN"); |
| 60 | assert_eq!(old_value, Some("ten")); |
| 61 | println!("Updated 10, old value: {:?}", old_value); |
| 62 | |
| 63 | // Check tree properties |
| 64 | assert_eq!(tree.len(), 3); |
| 65 | assert!(!tree.is_empty()); |
| 66 | println!("Tree length: {}", tree.len()); |
| 67 | println!("Tree empty: {}", tree.is_empty()); |
| 68 | } |
| 69 | |
| 70 | fn range_query_examples() { |
| 71 | println!("\n=== Range Query Examples ==="); |