データ構造上のテスト4.1:二叉樹のエルゴードとアプリケーション1
データ構造上のテスト4.1:二叉樹のエルゴードとアプリケーション1
Time Limit:1000 MS Memory limit:65536 K
テーマの説明
二叉の木を入力する前に、シーケンスと中間シーケンスを巡回し、この二叉の木を出力した後に、シーケンスを巡回します.
入力
最初の行に二叉木の最初の順序を入力して、シーケンスを巡回します.
2行目は、2つ目のツリーの中から順に連続データを巡回するように入力します.
出力
この二叉の木を出力した後、シーケンスを巡回します.
例の入力
Time Limit:1000 MS Memory limit:65536 K
テーマの説明
二叉の木を入力する前に、シーケンスと中間シーケンスを巡回し、この二叉の木を出力した後に、シーケンスを巡回します.
入力
最初の行に二叉木の最初の順序を入力して、シーケンスを巡回します.
2行目は、2つ目のツリーの中から順に連続データを巡回するように入力します.
出力
この二叉の木を出力した後、シーケンスを巡回します.
例の入力
ABDCEF
BDAECF
サンプル出力DBEFCA
ヽoo.ツ ヽoo.ツ ヽoo.ツ typedef struct tnode { char ダタ tnode *left、 *ライト }TNODE 2 TNODE 2 *メーク *pstr,char *istr,int n) { TNODE 2 *ptr; char *rstr; 要点 k; if(n<=0) return NULL ptr = (TNODE 2*)malloc(sizof(TNODE 2); ptr->data = *pstr; for(rstr=istr;rstr if(*rstr) == *pstr. break; k = rstr - istr; ptr->left = make(pstr+1、istr、k) ptr->ライト = make(pstr+k+1、istr+k+1、n-k-1) return ptr; ) void lastorder(TNODE 2) *t) { if(t == NULL) return ; lastorder(t->left) lastorder(t->right) printf("%c",t->data); ) 要点 main() { TNODE 2 *tree; char a[100],b[100] scanf("%s",a) scanf('%s',b) //char *a. = abdegcf; //char *b = 「dbeacgf」 要点 n = streen(a) tree = make(a,b,n) lastorder(tree) printf("); return 0; )