Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BinaryTree<char> tree(from_inpofix_to_Binary_tree(res,0,res.size()-1,expression,0,expression.size()-1));
- tree.levelorder();
- cout<<endl;
- tree.inorder();
- cout<<endl;
- tree.postorder();
- system("pause");
- BinaryTree<char> from_inpofix_to_Binary_tree(string postorder,int p1,int p2,string inorder,int i1,int i2)
- {
- char str=(char)postorder[p2];
- Item<char> itm(str);
- BinaryTree<char> tree(itm);
- for(int i = i1; i<= i2; i++)
- {
- if(postorder[p2] == inorder[i])
- {
- if(i<i1)
- tree.setLeft(BinaryTree<char>(from_inpofix_to_Binary_tree(postorder, p1, p1 + (i - i1 -1), inorder, i1, i - 1)));
- if(i2 > i)
- tree.setRight(BinaryTree<char>(from_inpofix_to_Binary_tree(postorder, p1+(i - i1), p2 -1, inorder, i + 1, i2)));
- break;
- }
- }
- return tree;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement