#include<iostream>
using namespace std;
typedef struct node
{
int data;
node* left;
node* right;
}Node;
void preorder(Node* root)
{
if (root != NULL)
{
cout << root->data << ' ';
preorder(root->left);
preorder(root->right);
}
}
void inorder(Node* root)
{
if (root!= NULL)
{
inorder(root->left);
cout << root->data<<' ';
inorder(root->right);
}
}
void afterorder(Node* root)
{
if (root!= NULL)
{
afterorder(root->left);
afterorder(root->right);
cout << root->data<<' ';
}
}
int main()
{
Node n1;
n1.data = 5;
Node n2;
n2.data = 6;
Node n3;
n3.data = 7;
Node n4;
n4.data = 8;
n1.left = &n2;
n1.right = &n3;
n2.left = &n4;
n2.right = NULL;
n3.left = NULL;
n3.right = NULL;
n4.left = NULL;
n4.right = NULL;
preorder(&n1);
cout << endl;
inorder(&n1);
cout << endl;
afterorder(&n1);
return 0;
}
using namespace std;
typedef struct node
{
int data;
node* left;
node* right;
}Node;
void preorder(Node* root)
{
if (root != NULL)
{
cout << root->data << ' ';
preorder(root->left);
preorder(root->right);
}
}
void inorder(Node* root)
{
if (root!= NULL)
{
inorder(root->left);
cout << root->data<<' ';
inorder(root->right);
}
}
void afterorder(Node* root)
{
if (root!= NULL)
{
afterorder(root->left);
afterorder(root->right);
cout << root->data<<' ';
}
}
int main()
{
Node n1;
n1.data = 5;
Node n2;
n2.data = 6;
Node n3;
n3.data = 7;
Node n4;
n4.data = 8;
n1.left = &n2;
n1.right = &n3;
n2.left = &n4;
n2.right = NULL;
n3.left = NULL;
n3.right = NULL;
n4.left = NULL;
n4.right = NULL;
preorder(&n1);
cout << endl;
inorder(&n1);
cout << endl;
afterorder(&n1);
return 0;
}