두 갈래 나무의 회복

1075 단어 데이터 구조
이 진 트 리 의 앞 순 서 를 옮 겨 다 니 고 중간 순 서 를 옮 겨 다 니 며 이 진 트 리 를 복원 하고 뒤 순 서 를 옮 겨 다 니 는 결 과 를 출력 합 니 다.
#include 
#include 
#include 

using namespace std;

struct node
{
    int val;
    node *ch[2];
};

int Search(int x,int A[],int n)
{
    for(int i=0;ival = *A;
    p->ch[0] = p->ch[1] = NULL;
    int i = Search(*A,B,n);
    int *r = B + i;
    int j = r - B;
    p->ch[0] = Restore(A+1,B,j);
    p->ch[1] = Restore(A+1+j,r+1,n-1-j);
    return p;
}

void Postorder(node *t)
{
    if(t == NULL) return;
    Postorder(t->ch[0]);
    Postorder(t->ch[1]);
    printf("%d ",t->val);
}

int main()
{
    int n;
    int A[55],B[55]; //  A B                   
    while(cin>>n)
    {
        for(int i=0;i>A[i];
        for(int i=0;i>B[i];
        node *root = Restore(A,B,n);   //     
        Postorder(root);
        cout<

좋은 웹페이지 즐겨찾기