File tree Expand file tree Collapse file tree 1 file changed +67
-0
lines changed
Language/C_plus/BinaryTree Expand file tree Collapse file tree 1 file changed +67
-0
lines changed Original file line number Diff line number Diff line change 1+ #include < iostream>
2+
3+ using namespace std ;
4+
5+ class BinaryNode {
6+ public:
7+ char data;
8+ BinaryNode *left;
9+ BinaryNode *right;
10+
11+ BinaryNode (char c) {
12+ data = c;
13+ }
14+ };
15+
16+ void CreateTree (BinaryNode *&t) {
17+ char c;
18+ cin>>c;
19+ if (c == ' #' )
20+ t = NULL ;
21+ else {
22+ t = new BinaryNode (c);
23+ t->left = NULL ;
24+ t->right = NULL ;
25+ CreateTree (t->left );
26+ CreateTree (t->right );
27+ }
28+ }
29+
30+ void PreOrder (BinaryNode *&t) {
31+ if (t) {
32+ cout<<" " <<t->data ;
33+ PreOrder (t->left );
34+ PreOrder (t->right );
35+ }
36+ }
37+
38+ void MidOrder (BinaryNode *t) {
39+ if (t) {
40+ MidOrder (t->left );
41+ cout << " " << t->data ;
42+ MidOrder (t->right );
43+ }
44+ }
45+
46+ void PostOrder (BinaryNode *t) {
47+ if (t) {
48+ PostOrder (t->left );
49+ PostOrder (t->right );
50+ cout << " " << t->data ;
51+ }
52+ }
53+
54+ int main () {
55+ BinaryNode *p1;
56+ CreateTree (p1);
57+ cout << " Pre order print" << endl;
58+ PreOrder (p1);
59+ cout << " \n " ;
60+ cout << " Middle order print" << endl;
61+ InOrder (p1);
62+ cout << " \n " ;
63+ cout << " Post order print" << endl;
64+ PostOrder (p1);
65+ return 0 ;
66+ }
67+
You can’t perform that action at this time.
0 commit comments