여기서는 map을 사용했는데 편한 것 같다. key와 value값으로 이루어져 있는데 트리 문제에서 사용하면 좋을 것 같다.
#include <iostream>
#include <vector>
#include <queue>
#include<map>
using namespace std;
struct treeNode
{
char left;
char right;
};
map<char, treeNode> tree;
void preorder(char st) {
if (st == '.')
return;
cout << st;
preorder(tree[st].left);
preorder(tree[st].right);
}
void inorder(char st) {
if (st == '.')
return;
inorder(tree[st].left);
cout << st;
inorder(tree[st].right);
}
void postorder(char st) {
if (st == '.')
return;
postorder(tree[st].left);
postorder(tree[st].right);
cout << st;
}
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
char root, left, right;
cin >> root >> left >> right;
tree[root] = { left, right };
}
preorder('A');
cout << '\n';
inorder('A');
cout << '\n';
postorder('A');
cout << '\n';
return 0;
}
'개발공부 > 백준풀이' 카테고리의 다른 글
1026 C++ 그리디 (0) | 2024.11.26 |
---|---|
11723 백준 c++ (0) | 2024.11.20 |
백준 1068 c++ 트리 그래프문제 (1) | 2024.11.12 |
백준 9019 C++ bfs (0) | 2024.11.11 |
1987 C++ 백준 그래프 문제 (0) | 2024.11.04 |