Advertisement
Guest User

Untitled

a guest
Dec 29th, 2012
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1.  
  2. BinaryTree<char> tree(from_inpofix_to_Binary_tree(res,0,res.size()-1,expression,0,expression.size()-1));
  3.  
  4. tree.levelorder();
  5. cout<<endl;
  6. tree.inorder();
  7. cout<<endl;
  8. tree.postorder();
  9. system("pause");
  10.  
  11.  
  12.  
  13. BinaryTree<char> from_inpofix_to_Binary_tree(string postorder,int p1,int p2,string inorder,int i1,int i2)
  14. {
  15.  
  16. char str=(char)postorder[p2];
  17. Item<char> itm(str);
  18. BinaryTree<char> tree(itm);
  19. for(int i = i1; i<= i2; i++)
  20. {
  21. if(postorder[p2] == inorder[i])
  22. {
  23. if(i<i1)
  24. tree.setLeft(BinaryTree<char>(from_inpofix_to_Binary_tree(postorder, p1, p1 + (i - i1 -1), inorder, i1, i - 1)));
  25.  
  26. if(i2 > i)
  27. tree.setRight(BinaryTree<char>(from_inpofix_to_Binary_tree(postorder, p1+(i - i1), p2 -1, inorder, i + 1, i2)));
  28.  
  29. break;
  30. }
  31. }
  32. return tree;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement