on
<1991번> 트리 순회
<1991번> 트리 순회
https://www.acmicpc.net/problem/1991
#include using namespace std; typedef struct node{ char data; struct node* left; struct node* right; }node; node* store_pointer[26]; void preorder(node* nod){ if(nod) { coutleft); preorder(nod->right); } } void inorder(node* nod){ if(nod) { inorder(nod->left); coutright); } } void postorder(node* nod){ if(nod) { postorder(nod->left); postorder(nod->right); cout>n; node* p0,*c1=NULL,*c2=NULL; for (int i = 0; i < n; i++) { char p,lc,rc; cin>>p>>lc>>rc; if(!store_pointer[p-'A']) { p0=new node(); p0->data=p; p0->left=NULL; p0->right=NULL; store_pointer[p-'A']=p0; } if(lc!='.'&&!store_pointer[lc-'A']) { c1=new node(); c1->data=lc; c1->left=NULL; c1->right=NULL; store_pointer[lc-'A']=c1; } if(rc!='.'&&!store_pointer[rc-'A']) { c2=new node(); c2->data=rc; c2->left=NULL; c2->right=NULL; store_pointer[rc-'A']=c2; } store_pointer[p-'A']->left=store_pointer[lc-'A']; store_pointer[p-'A']->right=store_pointer[rc-'A']; } preorder(store_pointer[0]); cout<<'
'; inorder(store_pointer[0]); cout<<'
'; postorder(store_pointer[0]); cout<<'
'; return 0; }
from http://resource777.tistory.com/34 by ccl(A) rewrite - 2021-12-13 18:26:49