国产探花免费观看_亚洲丰满少妇自慰呻吟_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-


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 朝阳区| 瓮安县| 岱山县| 勃利县| 耒阳市| 克东县| 白河县| 嵊泗县| 江西省| 贡觉县| 固安县| 安阳县| 钦州市| 巧家县| 封开县| 惠州市| 鹤岗市| 平塘县| 普宁市| 榕江县| 万州区| 福清市| 兴安盟| 广丰县| 武胜县| 扎兰屯市| 陇西县| 广德县| 西昌市| 汽车| 海门市| 新津县| 南宁市| 平武县| 得荣县| 广灵县| 天峨县| 灯塔市| 大方县| 蒲城县| 建阳市|