后序,中序序列 推导前序序列

2018-08-17  本文已影响0人  Co_zy
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct BTNode
{
    char data;
    struct BTNode *left,*right;
}BTNode;

void createPreBT(char *post,char *in,int len)
{
    if(len == 0)
        return;
    BTNode *t = (BTNode *)malloc(sizeof(BTNode));
    t->data = post[len-1];
    int i;
    for(i=0;i<len;i++)
    {
        if(in[i] == post[len-1])
            break;
    } 
    printf("%c",t->data);
    createPreBT(post,in,i);
    createPreBT(post+i,in+i+1,len-i-1);
    
}

int main()
{
    char pre[1000];
    char in[1000];
    char post[1000];

    gets(post);
    gets(in);
    int len = strlen(in);
    createPreBT(post,in,len);
    /*
    DEBGHFCA
    DBEACGFH
    => ABDECFGH
    */
    printf("\n");
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读