#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct node
{
struct node *leftnode;
struct node *rightnode;
char data;
}BiTNode, *BiTree;
void creatBiTree(BiTree T)
{
char c;
cin >> c;
if (c == '#')
T = NULL;
else
{
T = (BiTree)malloc(sizeof(BiTNode));
if (!T)
exit(-1);
T->data = c;
creatBiTree(T->leftnode);
creatBiTree(T->rightnode);
}
}
void visit(char ch)
{
cout << ch;
}
void preOrderTraverse(BiTree T, void(*Visit)(char ))
{ if (T)
{
Visit(T->data);
preOrderTraverse(T->leftnode, Visit);
preOrderTraverse(T->rightnode, Visit);
}
}
//
void preOrderTraverse(BiTree T)
{
if(!T)
return;
stack<BiTree>s;
}
int main(void)
{
void(*Visit)(char );
BiTree T = NULL;
creatBiTree(T);
Visit = visit;
preOrderTraverse(T, Visit);
return 0;
}