Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct tNode
- {
- int data;
- struct tNode *left;
- struct tNode *right;
- }tnode;
- tnode *initNode(int);
- void tGrow();
- void task(tnode*);
- tnode *root;
- void tGrow(){
- root = initNode(0);
- root->left = initNode(1);
- root->right = initNode(2);
- root->left->left = initNode(3);
- root->left->right = initNode(4);
- root->left->left->left = initNode(5);
- root->left->left->right = initNode(6);
- root->left->right->left = initNode(7);
- root->left->right->right = initNode(8);
- root->right->left = initNode(9);
- root->right->right = initNode(10);
- root->right->left->left = initNode(11);
- root->right->left->right = initNode(12);
- root->right->right->left = initNode(13);
- root->right->right->right = initNode(14);
- }
- tnode *initNode(int data){
- tnode *temp;
- temp = (tnode *)malloc(sizeof(tnode));
- temp->data = data;
- temp->right = NULL;
- temp->left = NULL;
- return temp;
- }
- int odd, even;
- void inorder(tnode*);
- void postorder(tnode*);
- void preorder(tnode*);
- void preorder(tnode *node){
- if (node)
- {
- if (node->data % 2 == 0)
- even++;
- else
- odd++;
- preorder(node->left);
- preorder(node->right);
- }
- }
- void postorder(tnode *node){
- if (node)
- {
- postorder(node->left);
- postorder(node->right);
- if (node->data % 2 == 0)
- even++;
- else
- odd++;
- }
- }
- void inorder(tnode *node){
- if (node)
- {
- inorder(node->left);
- if (node->data % 2 == 0)
- even++;
- else
- odd++;
- inorder(node->right);
- }
- }
- void task(tnode* total){
- preorder(total);
- printf("Total no.of odd data : %d\n", odd);
- printf("Total no.of even data : %d\n", even);
- }
- int main()
- {
- tGrow();
- task(root);
- }
Advertisement
Add Comment
Please, Sign In to add comment