#include<iostream>
using namespace std;
int num[100];
typedef struct node
{
struct node *left;
struct node* right;
char value;
}BiTreeNode, *BiTree;
void creatBiTree(BiTree &T) // 传引用
{
char c;
cin >> c;
if(c == '0')
{
T = NULL;
}
else
{
T = new BiTreeNode;
T->value = c;
creatBiTree(T->left);
creatBiTree(T->right);
}
}
//前序遍历二叉树并打印出来
void preorder(BiTree T)
{
if(T)
{
cout << T-> value << " ";
preorder( T -> left);
preorder( T -> right);
}
}
//中序遍历二叉树并打印出来
void midorder(BiTree T)
{
if(T)
{
midorder( T-> left);
cout << T -> value << " ";
midorder(T -> right);
}
}
//后续遍历二叉树并打印出来
void postorder(BiTree T)
{
if(T)
{
postorder(T -> left);
postorder(T -> right);
cout << T -> value << " ";
}
}
int main()
{
BiTree T;
creatBiTree(T);
cout << "creat!!!" << endl;
cout << "preorder :" << endl;
preorder(T);
cout << endl;
cout << "midorder :" << endl;
midorder(T);
cout<< endl;
cout << "postorder: " << endl;
postorder(T);
return 0;
}
二叉树的建立与遍历
最新推荐文章于 2018-07-11 14:15:08 发布