
Patrick B. answered 11/21/20
Math and computer tutor/teacher
This link has everything you need:
https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/
This will get you started....
using namespace std;
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
typedef struct _TreeNode
{
int data;
struct _TreeNode * left;
struct _TreeNode * right;
} * TreeNode;
#define TREE_NODE_SIZE (sizeof(struct _TreeNode))
Insert(TreeNode treeNode, int iNum)
{
if (treeNode->data >iNum)
{
if (treeNode->left==NULL)
{
treeNode->left = (TreeNode) malloc(TREE_NODE_SIZE);
treeNode->left->data = iNum;
cout << "inserted on left branch " << iNum << endl;
treeNode->left->right = treeNode->left->left = NULL;
}
else
{
Insert(treeNode->left,iNum);
}
}
else
{
if (treeNode->right==NULL)
{
treeNode->right = (TreeNode) malloc(TREE_NODE_SIZE);
treeNode->right->data = iNum;
cout << "inserted on right branch " << iNum << endl;
treeNode->right->right = treeNode->right->left = NULL;
}
else
{
Insert(treeNode->right,iNum);
}
}
}
Traverse(TreeNode treeNode)
{
if (treeNode->left!=NULL)
{
Traverse(treeNode->left);
}
cout << treeNode->data <<endl;
if (treeNode->right!=NULL)
{
Traverse(treeNode->right);
}
}
int main()
{
struct _TreeNode top;
top.data = 12;
top.right = top.left = NULL;
Insert(&top,5);
Insert(&top,15);
Insert(&top,7);
Insert(&top,13);
Traverse(&top);
}