#include <iostream>
using namespace std;

class BiTreeNode
{
public:
    char ch;
    int frequency;
    BiTreeNode * Lchild,* Rchild;
    void Visit(BiTreeNode * T);    
public:
    void CreateBiTree(BiTreeNode * T);    
    void PreOrderTraverse(BiTreeNode * T);
};

BiTreeNode * BiTreeHead=0;
int control=1;

void BiTreeNode::Visit(BiTreeNode * T)
{
       cout<<T->ch;
}

void BiTreeNode::CreateBiTree(BiTreeNode * T)
{
    char ch;
    if((ch=getchar())==' ')//为什么不能直接读字符?
        T=0;
    else
    {            
        T=new BiTreeNode;    
        if(control==1)
            BiTreeHead=T;
        control++;
        T->ch=ch;
        CreateBiTree(T->Lchild);
        CreateBiTree(T->Rchild);
    }
    
}

void BiTreeNode::PreOrderTraverse(BiTreeNode * T)
{
    if(T)
    {
        Visit(T);
        PreOrderTraverse(T->Lchild);
        PreOrderTraverse(T->Rchild);        
    }
}

int main()
{
    cout<<"输入26个英文字母\n";
    BiTreeNode * T=0;
    T->CreateBiTree(T);
    T->PreOrderTraverse(BiTreeHead);
    return 0;    
}