Code
#include<iostream>
using namespace std;
typedef struct BiTNode {
int data;
struct BiTNode* lchild, * rchild;
}BiTNode,*BiTree;
void creatBiTree(BiTree& T);
void PreOrderTraverse(BiTree T);
void InOrderTraverse(BiTree T);
void PostOrderTraverse(BiTree T);
int main()
{
BiTree T = new BiTNode;
creatBiTree(T);
PreOrderTraverse(T);
cout << endl;
InOrderTraverse(T);
cout << endl;
PostOrderTraverse(T);
system("pause");
return 0;
}
void creatBiTree(BiTree& T)
{
int data;
cout << "Please input the value of Node: ";
cin >> data;
if (data == -1) {
T = nullptr;
return;
}
T = new BiTNode;
T->data = data;
creatBiTree(T->lchild);
creatBiTree(T->rchild);
}
void PreOrderTraverse(BiTree T)
{
if (T) {
cout << T->data << " ";
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
}
void InOrderTraverse(BiTree T)
{
if (T) {
InOrderTraverse(T->lchild);
cout << T->data << " ";
InOrderTraverse(T->rchild);
}
}
void PostOrderTraverse(BiTree T)
{
if (T) {
PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
cout << T->data << " ";
}
}
测试截图