-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbtreeTest.cpp
More file actions
102 lines (79 loc) · 1.99 KB
/
btreeTest.cpp
File metadata and controls
102 lines (79 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/**************************************************
* Essential C++ -- Stanley Lippman
* Addison-Wesley
* ISBN 0-201-48518-4
* homepage: www.objectwrite.com
* email: [email protected]
*************************************************/
#include <string>
#include <algorithm>
#include <fstream>
#include "btree.hpp"
using namespace std;
int main()
{
/*
BinaryTree< int > bt;
bt.insert( 7 );
bt.insert( 5 );
bt.insert( 9 );
bt.insert( 6 );
bt.insert( 3 );
*/
/*
BinaryTree< string > bt;
bt.insert( "Piglet" );
bt.insert( "Pooh" );
bt.insert( "Eeyore" );
bt.insert( "Kanga" );
bt.insert( "Tigger" );
*/
ofstream log( "logfile.txt" );
if ( ! log ){
cerr << "error: unable to open file!\n";
return -1;
}
else BinaryTree<string>::current_os( &log );
/*
int ia[] = { 24, 18, 36, 12, 14, 8, 24, 1, 42, 24, 8, 8, 16, 55 };
vector< int > ivec( ia, ia + 14 );
BinaryTree<int> bt( ivec );
log << "preorder traversal: \n";
// cout << should see\n\t ";
bt.preorder( log );
bt.clear();
log << "\nbt is now " << ( bt.empty() ? " empty! " : " oops -- not empty!" ) << endl;
sort( ivec.begin(), ivec.end() );
bt.insert( ivec );
log << "\n\ninorder traversal:\n";
bt.inorder( log );
bt.insert( ivec );
log << "\n\npostorder traversal:\n";
bt.postorder( log );
log << endl << endl;
*/
BinaryTree<string> bt;
bt.insert( "Piglet" );
bt.insert( "Eeyore" );
bt.insert( "Roo" );
bt.insert( "Tigger" );
bt.insert( "Chris" );
bt.insert( "Pooh" );
bt.insert( "Kanga" );
log << "preorder traversal: \n";
bt.preorder( log );
log << "\n\nabout to remove root: Piglet\n";
bt.remove( "Piglet" );
log << "\n\npreorder traversal after Piglet removal: \n";
bt.preorder( log );
log << "\n\nabout to remove Eeyore\n";
bt.remove( "Eeyore" );
log << "\n\npreorder traversal after Piglet removal: \n";
bt.preorder( log );
// log << "\n\ninorder traversal:\n";
// bt.inorder( log );
// log << "\n\npostorder traversal:\n";
// bt.postorder( log );
//
return 0;
}