Advertisement
Guest User

BinarSearchTree

a guest
Nov 11th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1.  
  2. #include<iostream>
  3. #include<string>
  4. using namespace std;
  5.  
  6. struct node{
  7.     char info;
  8.     int ocurrence;
  9.     node* left;
  10.     node* right;
  11. };
  12.  
  13.  
  14. node* makeNode(char info){
  15.     node* childnode;
  16.     childnode = new node;
  17.     childnode->ocurrence = 1;
  18.     childnode->info = info;
  19.     childnode->left = NULL;
  20.     childnode->right = NULL;
  21.     return childnode;
  22. }
  23.  
  24. void BST(node * &Tree, char c)
  25. { node * T;
  26.   T = makeNode( c);
  27.   if (!Tree) Tree = T;
  28.   else if (c < Tree->info)BST(Tree->left, c);
  29.   else if (c > Tree->info)BST(Tree->right, c);
  30.   else Tree->ocurrence +=1;
  31. }
  32.  
  33. void inorder(node * Tree)
  34. {
  35.  if (!Tree) return;
  36.  else
  37.  {
  38.     inorder(Tree->left);
  39.     cout << Tree->info << "  " << Tree->ocurrence << "  ";
  40.     inorder(Tree->right);
  41.  }
  42.  
  43. }
  44.  
  45.  
  46. int main()
  47. { node * Tree = NULL;
  48.   char temp, ch, again = ' ';
  49.   while (again != 'n'&& again != 'N')
  50.     {  cout << "Please enter a char ";
  51.        cin >> ch;  
  52.        BST(Tree, ch);
  53.        cout << "Would  you like to insert new char? (y/n)";
  54.        cin >> again;
  55.     }
  56.   cout <<"The in order traversal of the Tree is ";
  57.   inorder(Tree);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement