Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- struct treeNode {
- int data;
- treeNode* left;
- treeNode* right;
- };
- treeNode* newNode(int data) {
- treeNode* node = new treeNode;
- node->data = data;
- node->left = NULL;
- node->right = NULL;
- return node;
- }
- void printInOrder(treeNode* node) {
- if (node == NULL)
- return;
- printInOrder(node->left);
- cout << node->data << " ";
- cout.flush();
- printInOrder(node->right);
- }
- bool inserted;
- void insertNode(treeNode* current_node, int& v, int& data, char& c) {
- if (!inserted) {
- if (current_node == NULL) {
- return;
- }
- if (current_node->data == v) {
- if (c == 'L') {
- current_node->left = newNode(data);
- }
- else {
- current_node->right = newNode(data);
- }
- inserted = true;
- return;
- }
- insertNode(current_node->left, v, data, c);
- insertNode(current_node->right, v, data, c);
- }
- else {
- return;
- }
- }
- int main() {
- int T;
- cin >> T;
- for (int i = 0; i < T; i++) {
- int n;
- cin >> n;
- treeNode* root = NULL;
- for (int j = 0; j < n; j++) {
- int v, data;
- char c;
- cin >> v >> data >> c;
- if (j == 0) {
- root = newNode(v);
- }
- inserted = false;
- insertNode(root, v, data, c);
- }
- printInOrder(root);
- cout << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement