donmike25

inlab2

Dec 16th, 2013
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.81 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct tNode
  5. {
  6.     int data;
  7.     struct tNode *left;
  8.     struct tNode *right;
  9. }tnode;
  10.  
  11.  
  12. tnode *initNode(int);
  13. void tGrow();
  14. void task(tnode*);
  15. tnode *root;
  16.  
  17. void tGrow(){
  18.  
  19.  
  20.     root = initNode(0);
  21.     root->left = initNode(1);
  22.     root->right = initNode(2);
  23.     root->left->left = initNode(3);
  24.     root->left->right = initNode(4);
  25.     root->left->left->left = initNode(5);
  26.     root->left->left->right = initNode(6);
  27.     root->left->right->left = initNode(7);
  28.     root->left->right->right = initNode(8);
  29.     root->right->left = initNode(9);
  30.     root->right->right = initNode(10);
  31.     root->right->left->left = initNode(11);
  32.     root->right->left->right = initNode(12);
  33.     root->right->right->left = initNode(13);
  34.     root->right->right->right = initNode(14);
  35.  
  36.  
  37.  
  38. }
  39. tnode *initNode(int data){
  40.     tnode *temp;
  41.     temp = (tnode *)malloc(sizeof(tnode));
  42.     temp->data = data;
  43.     temp->right = NULL;
  44.     temp->left = NULL;
  45.     return temp;
  46.  
  47. }
  48.  
  49.  
  50. void inorder(tnode*);
  51. void postorder(tnode*);
  52. void preorder(tnode*);
  53.  
  54.  
  55.  
  56. void preorder(tnode *node){
  57.  
  58.  
  59.     if (node)
  60.     {
  61.         if (node->data == 2)
  62.             printf("hello\t");
  63.         else
  64.         {
  65.  
  66.             printf("%d\t", node->data);
  67.         }
  68.         preorder(node->left);
  69.         preorder(node->right);
  70.  
  71.     }
  72.  
  73.  
  74. }
  75.  
  76.  
  77.  
  78. void postorder(tnode *node){
  79.  
  80.  
  81.     if (node)
  82.     {
  83.         postorder(node->left);
  84.         postorder(node->right);
  85.         if (node->data == 2)
  86.             printf("hello\t");
  87.         else
  88.         {
  89.  
  90.             printf("%d\t", node->data);
  91.         }
  92.     }
  93.  
  94.  
  95. }
  96.  
  97. void inorder(tnode *node){
  98.  
  99.  
  100.     if (node)
  101.     {
  102.         inorder(node->left);
  103.         if (node->data == 2)
  104.             printf("hello\t");
  105.         else
  106.         {
  107.  
  108.             printf("%d\t", node->data);
  109.         }
  110.        
  111.         inorder(node->right);
  112.  
  113.     }
  114.  
  115.  
  116.  
  117.  
  118.  
  119. }
  120. void task(tnode* total){
  121.     printf("Inorder traversal: ");
  122.     inorder(total);
  123.  
  124. }
  125.  
  126.  
  127. int main()
  128. {
  129.  
  130.  
  131.  
  132.    
  133.  
  134.  
  135.         tGrow();
  136.         task(root);
  137.  
  138.  
  139.  
  140.        
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment