iawitm

Untitled

Apr 16th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.54 KB | None | 0 0
  1.  
  2. #include "stdafx.h"
  3. #include <iostream>
  4.  
  5.  
  6. using namespace std;
  7.  
  8.  
  9. struct tnode {
  10.     int field;          
  11.     struct tnode *left;  
  12.     struct tnode *right;
  13. };
  14.  
  15. void traversalShow(tnode *tree) {
  16.     if (tree != NULL) {
  17.         cout << "Корень: ";
  18.         cout << tree->field<<endl;
  19.         if (tree->left != NULL) cout << "Левое поддерево для корня "<< tree->field << endl;
  20.         traversalShow(tree->left);
  21.        
  22.         if (tree->right != NULL) cout << "Правое поддерево для корня " << tree->field << endl;
  23.         traversalShow(tree->right);
  24.        
  25.     }
  26. }
  27.  
  28. void treeprint(tnode *tree) {
  29.     if (tree != NULL) {
  30.         if (!(((tree->left != NULL) && (tree->right!=NULL))||((tree->left == NULL) && (tree->right == NULL))))
  31.             cout << "Корень: " << tree->field << endl;
  32.         treeprint(tree->left);
  33.         treeprint(tree->right);
  34.     }
  35. }
  36.  
  37.  
  38. struct tnode* addnode(int x, tnode *tree) {
  39.     if (tree == NULL) {
  40.         tree = new tnode;
  41.         tree->field = x;  
  42.         tree->left = NULL;
  43.         tree->right = NULL;
  44.     }
  45.     else  if (x < tree->field)  
  46.         tree->left = addnode(x, tree->left);
  47.     else    
  48.         tree->right = addnode(x, tree->right);
  49.     return(tree);
  50. }
  51.  
  52. int main()
  53. {
  54.     setlocale(LC_ALL, "ru");
  55.     tnode *tree = NULL;
  56.     tree = addnode(5, tree);
  57.     tree = addnode(7, tree);
  58.     tree = addnode(3, tree);
  59.     tree = addnode(6, tree);
  60.     tree = addnode(4, tree);
  61.     tree = addnode(2, tree);
  62.     tree = addnode(1, tree);
  63.     tree = addnode(8, tree);
  64.     tree = addnode(9, tree);
  65.     traversalShow(tree);
  66.     cout << endl;
  67.     treeprint(tree);
  68.  
  69.     system("pause");
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment