donmike25

kannan version

Dec 17th, 2013
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.63 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct tNode{
  5. int data;
  6. struct tNode *left;
  7. struct tNode *right;
  8. };
  9.  
  10. struct tNode *initNode (int data);
  11. void tGrow ();
  12. void task (struct tNode *total);
  13. void preorder (struct tNode *node);
  14. void postorder (struct tNode *node);
  15. void inorder (struct tNode *node);
  16.  
  17. struct tNode *root;
  18. int sum=0;
  19.  
  20. int main()
  21. {
  22.  
  23. tGrow ();
  24. task (root);
  25.  
  26. return 0;
  27. }
  28.  
  29.  
  30. void preorder (struct tNode *node){
  31.  
  32. if(node){
  33.  
  34. sum=sum+ node -> data;
  35. preorder (node->left);
  36. preorder (node->right);
  37. }
  38. }
  39. void postorder (struct tNode *node){
  40. if(node){
  41. postorder (node->left);
  42. postorder (node->right);
  43. sum= sum+ node->data;
  44. }
  45. }
  46. void inorder (struct tNode *node){
  47. if(node){
  48. inorder (node->left);
  49. sum = sum+ node->data;
  50. inorder (node-> right);
  51. }
  52. }
  53.  
  54. void tGrow (void){
  55.  
  56.  
  57.  
  58. root = initNode(0);
  59.     root->left = initNode(1);
  60.     root->right = initNode(2);
  61.     root->left->left = initNode(3);
  62.     root->left->right = initNode(4);
  63.     root->left->left->left = initNode(5);
  64.     root->left->left->right = initNode(6);
  65.     root->left->right->left = initNode(7);
  66.     root->left->right->right = initNode(8);
  67.     root->right->left = initNode(9);
  68.     root->right->right = initNode(10);
  69.     root->right->left->left = initNode(11);
  70.     root->right->left->right = initNode(12);
  71.     root->right->right->left = initNode(13);
  72.     root->right->right->right = initNode(14);
  73. }
  74.  
  75. void task (struct tNode *total){
  76.  
  77. inorder(total);
  78. printf ("Sum of all values: %d\n", sum);
  79.  
  80. }
  81. struct tNode *initNode (int data){
  82. struct tNode *result;
  83. result= (struct tNode*)malloc(sizeof(struct tNode));
  84. result->data=data;
  85. result->left=NULL;
  86. result->right=NULL;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment