summaryrefslogtreecommitdiff
path: root/src/tree.rs
diff options
context:
space:
mode:
authorcc <cc@localhost>2025-08-20 21:58:04 -0700
committercc <cc@localhost>2025-08-20 21:59:17 -0700
commita3f05d181c39d2060c1b0461101402004a7d02f1 (patch)
tree19da5f3c29c714991ef3171f9917041d21d42bea /src/tree.rs
parentb7389213d70bba748c9ff08c9f91a99ac07e59c0 (diff)
Update for modern RustHEADmaster
Diffstat (limited to 'src/tree.rs')
-rw-r--r--src/tree.rs41
1 files changed, 7 insertions, 34 deletions
diff --git a/src/tree.rs b/src/tree.rs
index 1b7ed39..977cb78 100644
--- a/src/tree.rs
+++ b/src/tree.rs
@@ -1,9 +1,6 @@
-extern crate rand;
-extern crate test;
-
-use node::Node;
-use node::{insert,delete,search,min,max,is_avl_tree, to_string, min_pair, max_pair};
-use iterators::RangePairIter;
+use crate::node::Node;
+use crate::node::{insert,delete,search, min_pair, max_pair};
+use crate::iterators::RangePairIter;
use std::collections::Bound;
@@ -85,7 +82,7 @@ impl <K:Ord+Copy,D> AVLTree<K,D>{
/// assert_eq!(t.get_or(3,&2000), &2000);
///
/// ```
- pub fn get_or<'a>(&'a self, key: K, default: &'a D) -> &D{
+ pub fn get_or<'a>(&'a self, key: K, default: &'a D) -> &'a D{
self.get(key).map_or(default, |data| data)
}
@@ -166,11 +163,11 @@ impl <K:Ord+Copy,D> AVLTree<K,D>{
/// be inclusive, exclusive or unbounded).
/// # Examples
/// ```
-/// #![feature(collections_bound)]
-/// # extern crate avl_tree;
+///
+///
/// use std::collections::Bound;
/// //[...]
-/// # let mut t=avl_tree::AVLTree::<u64,i32>::new();
+/// let mut t=avl_tree::AVLTree::<u64,i32>::new();
/// for (key,val) in t.range(Bound::Excluded(32), Bound::Excluded(38)) {
/// println!("{} -> {}",key,val)
/// }
@@ -179,28 +176,4 @@ impl <K:Ord+Copy,D> AVLTree<K,D>{
pub fn range(&self, min: Bound<K>, max: Bound<K>) -> RangePairIter<K,D>{
RangePairIter::new(self, min, max)
}
-
- fn test_avl_tree(&self) -> bool {
- is_avl_tree(&self.root)
- }
-}
-
-#[test]
-fn test_fuzz(){
- let mut t = AVLTree::<u64,i32>::new();
- for _ in 1..5000 {
- let decision = rand::random::<bool>();
- if decision {
- let to_insert = rand::random::<u64>()%500;
- t.insert(to_insert, 1337);
- assert!(t.contains(to_insert));
- assert!(t.test_avl_tree());
- } else {
- let to_delete = rand::random::<u64>()%500;
- t.delete(to_delete);
- assert!(!t.contains(to_delete));
- assert!(t.test_avl_tree());
- };
- };
- return;
}