已知后序和中序求前序

#include
#include
#include


using namespace std;


const int capacity=100;


typedef struct TreeNode
{
    char data;
    struct TreeNode *l;
    struct TreeNode *r;
} ;


void Tree(char *after,char *in,int l)
{
    if(l==0)
    {
        return;
    }
    TreeNode *node=new TreeNode;
    node->data=*(after+l-1);
    int index=0;
    for(index=0;index    {
        if(in[index]==*(after+l-1))
        {
            break;
        }
    }
    cout<data<<" ";
    Tree(after,in,index);
    Tree(after+index,in+index+1,l-1-index);
    return;
}


int main()
{
    char *after="GDBEFCA";
    char *in="DGBAECF";
    Tree(after,in,7);
    return 0;
}

你可能感兴趣的:(已知后序和中序求前序)