This crate named as ABtree but this not means it is a novel data sturcture. It’s just AVL tree and Btree. For the Btree, what makes it different from that of BtreeMap in std is this Btree can accept any number as the maximum number of inner node, as long as the number greater or equal to 3
1.AVL
1.1 create an empty AVL tree
use AVL;
let t = AVL:: new;
1.2 insert key-value pair
use AVL;
let mut t = AVL:: new;
t.insert;
assert_eq!;
1.3 update value
If the key not exists it will add the key-value pair into the tree
use AVL;
let mut t = AVL:: new;
t.set;
t.set;
assert_eq!;
1.4 get length
use AVL;
let mut t = AVL:: new;
t.insert;
t.insert;
assert_eq!;
1.5 make an iter for AVL
Note the next() and next_back() are two independent operations which means a node can be traversed by both methods
use AVL;
let t = AVL:: new;
1.6 contains
use AVL;
let mut t: = AVL new;
t.insert;
t.insert;
t.insert;
assert!;
1.7 remove
use AVL;
let mut t: = AVL new;
t.insert;
t.insert;
t.insert;
assert_eq!;
assert_eq!;
1.8 peeking the root node
use AVL;
let mut t: = AVL new;
t.insert;
t.insert;
t.insert;
assert_eq!;
1.9 is empty?
use AVL;
let mut t: = AVL new;
t.insert;
t.insert;
t.insert;
assert_eq!;
1.10 clearing the instance of AVL tree
use AVL;
let mut t: = AVL new;
t.insert;
t.insert;
t.insert;
t.clear;
assert_eq!;
1.11 get method
use AVL;
let mut t: = AVL new;
t.insert;
t.insert;
t.insert;
assert_eq!;
1.12 from_iter
use FromIterator;
use AVL;
let data = vec!;
let a = AVL from_iter;
1.13 into_iter
use FromIterator;
use AVL;
let data = vec!;
let a = AVL from_iter;
let iter = a.into_iter;
2.Btree
2.1 create an empty b-tree
choose any number as the maximum number for the inner node as long as this number greater or equal to 3
use BTree;
let mut b: = new;
b.insert;
2.2 insert
use BTree;
let mut b: = new;
b.insert;
2.3 get
use BTree;
let mut b: = new;
let data = ;
for in data
assert_eq!;
2.4 set
use BTree;
let mut b: = new;
let data = ;
for in data
b.set;
2.5 contains
use BTree;
let mut b: = new;
let data = ;
for in data
assert!;
2.6 remove
use BTree;
let mut b: = new;
let data = ;
for in data
assert_eq!;
2.7 iter
use BTree;
let mut b: = new;
let data = ;
for in data
assert_eq!;
2.8 get length
use BTree;
let mut b: = new;
let data = ;
for in data
assert_eq!;
2.9 is empty?
use BTree;
let mut b: = new;
let data = ;
for in data
assert!;
2.10 clear
use BTree;
let mut b: = new;
let data = ;
for in data
b.clear;
assert_eq!;
2.11 from_iter
If use from_iter() to create b-tree then the maximum number of a inner node size is 3 which makes it a 2-3 tree
use FromIterator;
use BTree;
let data1 = vec!;
let b = from_iter;
b.iter.for_each;
2.12 into_iter
use FromIterator;
use BTree;
let data1 = vec!;
let b = from_iter;
b.into_iter.for_each;