国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

1086.Tree Traversals Again (25)...to be continued...

2019-11-08 02:10:24
字體:
來源:轉載
供稿:網友

1086.Tree Traversals Again (25)…to be continued…

pat-al-1086

2017-02-1086

參考:《算法筆記:上機訓練實戰指南》機械工業出版社/** * pat-al-1086 * 2017-02-18 * Cpp version * Author: fengLian_s */#include<stdio.h>#include<string.h>#include<stack>#define MAX 50using namespace std;int PRe[MAX], in[MAX], post[MAX];struct NODE{ int data; NODE* lchild; NODE* rchild;};NODE* create(int preL, int preR, int inL, int inR){ if(preL > preR) return NULL; NODE* root = new NODE; root->data = pre[preL]; int k; for(k = inL;k <= inR;k++) { if(in[k] == pre[preL]) break; } int numLeft = k - inL; root->lchild = create(preL+1, preL+numLeft, inL, k-1); root->rchild = create(preL+numLeft+1, preR, k+1, inR); return root;}int flagFirst = 1;void getPostOrder(NODE* root){ if(root == NULL) return; if(root->lchild != NULL) getPostOrder(root->lchild); if(root->rchild != NULL) getPostOrder(root->rchild); if(flagFirst == 1) { printf("%d", root->data); flagFirst = 0; } else printf(" %d", root->data);}int main(){ freopen("in.txt", "r", stdin); int n; scanf("%d", &n); stack<int> st; int cntPre = 0, cntIn; for(int i = 0;i < 2*n;i++)//先把先序和中序提取出來 { //printf("hello/n"); char oper[10]; scanf("%s", oper); //printf("oper = %s/n", oper); if(strcmp(oper, "Push") == 0) { //printf("hello, Push/n"); scanf("%d", &pre[cntPre]); st.push(pre[cntPre++]); } else { in[cntIn++] = st.top(); //printf("%d ", in[cntIn-1]); st.pop(); } } NODE* root = create(0, n-1, 0, n-1); getPostOrder(root); putchar('/n'); return 0;}

-TBC-


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰顺县| 伊春市| 灯塔市| 太保市| 沙田区| 福清市| 肃南| 特克斯县| 游戏| 临汾市| 大田县| 龙门县| 治多县| 晋江市| 青海省| 大荔县| 梧州市| 平顺县| 抚远县| 德化县| 临沂市| 伊吾县| 噶尔县| 深水埗区| 读书| 木兰县| 鹤峰县| 托克逊县| 安西县| 班玛县| 赤壁市| 旌德县| 吕梁市| 彭州市| 竹山县| 吉木萨尔县| 鄯善县| 柳江县| 炉霍县| 襄汾县| 定西市|