Advertisement
Abe_Matt

BinaryTree.cpp

Nov 29th, 2013
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.84 KB | None | 0 0
  1. #include <string>
  2. #include <fstream>
  3. #include <iostream>
  4. #include <deque>
  5. #include <iomanip>
  6. #include <queue>          
  7. #include <iostream>
  8. #include <fstream>
  9. #include <string>
  10. #include <sstream>
  11. #include <vector>
  12. #include "BinaryTree.h"
  13.  
  14.  
  15. ;using namespace std;
  16.  
  17. //BinaryTree::BinaryTree(){ //Конструктор
  18.  
  19. //}
  20.  
  21. void BinaryTree::add_node(BinaryTree *tree, vector<int> str1){
  22.    
  23.     for(int i=0;i<str1.size();i++){
  24.         if(tree==NULL){
  25.             BinaryTree  *tree= new BinaryTree;
  26.                 tree->left=NULL;
  27.                 tree->right=NULL;
  28.                 tree->right= new BinaryTree;
  29.                 tree->left= new BinaryTree;
  30.                 tree->data=str1[i];
  31.                 cout<<endl;
  32.                 cout<<tree->data<<endl;
  33.                 if (tree->right==NULL) tree=tree->right;
  34.                 else if (tree->left==NULL) tree=tree->left;
  35.         }else{
  36.  
  37.             if(str1[i]==tree->data){
  38.                 int j=i++;
  39.                 if((tree->left!=NULL)||(tree->right!=NULL)){
  40.                     if ((str1[j]==tree->left->data)){
  41.                         tree=tree->left;}
  42.                     else if(str1[j]==tree->right->data) tree=tree->right;
  43.                     }  
  44.  
  45.                 }
  46.                         if (tree->right==NULL) tree=tree->right;
  47.                         else if (tree->left==NULL) tree=tree->left;
  48.             }
  49.         }  
  50.     }
  51.     /*int i=0;
  52.     while(i<str1.size()){
  53.         if((tree->data==str1[i])||(tree==NULL)){
  54.             if(str1[i]==tree->data){
  55.                 i++;
  56.                 if ((str1[i]==tree->left->data)||(str1[i++]==tree->right->data)){
  57.                     if  (str1[i++]==tree->left->data)
  58.                         tree=tree->left;
  59.                     else if(str1[i]==tree->right->data) tree=tree->right;
  60.                 }
  61.                
  62.                 if (tree->right->data==NULL) tree=tree->right;
  63.                 else if (tree->left->data==NULL) tree=tree->left;
  64.             }
  65.                
  66.             if(tree==NULL){
  67.                 tree= new BinaryTree;
  68.                 tree->right= new BinaryTree;
  69.                 tree->left= new BinaryTree;
  70.                 tree->left=NULL;
  71.                 tree->right=NULL;
  72.                 tree->data=str1[i];
  73.                 i++;
  74.                
  75.             }
  76.         } else cout<<" oshibka vvoda"<< endl;
  77.         i++;
  78.     }*/
  79.  
  80.     //  cout<<tree->left<<endl;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement