#include #include "Binary_search_tree.h" using namespace std; using namespace Data_structures; int main() { Binary_search_tree b; b.insert( 3 ); b.insert( 7 ); b.insert( 4 ); b.insert( 1 ); b.insert( 2 ); b.insert( 6 ); b.insert( 5 ); b.insert( 8 ); b.insert( 0 ); cout << b.size() << endl; cout << b.root()->retrieve() << endl; cout << b.root()->size() << endl; cout << b.root()->left()->size() << endl; cout << b.root()->right()->size() << endl; cout << b.root()->front() << endl; cout << b.root()->back() << endl; cout << b.root()->right()->front() << endl; cout << b.root()->right()->back() << endl; cout << b.root()->left()->front() << endl; cout << b.root()->left()->back() << endl; cout << "----------" << endl; cout << b.root()->is_leaf() << endl; cout << "----------" << endl; b.erase( 3 ); cout << b.size() << endl; cout << b.root()->right()->size() << endl; cout << b.root()->retrieve() << endl; cout << b.root()->retrieve() << endl; for ( int i = -3; i < 12; ++i ) { cout << b.at( i ) << ' '; } cout << endl; for ( int i = -3; i < 12; ++i ) { cout << '(' << i << ',' << b.next( i ) << ") "; } cout << endl; for ( int i = -3; i < 12; ++i ) { cout << '(' << i << ',' << b.previous( i ) << ") "; } cout << endl; b.erase( 4 ); b.erase( 2 ); b.erase( 5 ); b.erase( 1 ); b.erase( 6 ); b.erase( 7 ); b.erase( 8 ); cout << b.size() << endl; b.erase( 0 ); cout << b.size() << endl; cout << b.empty() << endl; return 0; }