B)List the output of the following program. #include #include #include struct nodetype { struct nodetype *left ; int info ; struct nodetype *right; }; typedef struct nodetype NODE; typedef NODE *NODEPTR; void main() { NODEPTR root , p , q; root=NULL; int sevenNum[8]={65 , 52 , 45 , 27 , 33 , 79 , 26 , 48}; int number, i=0; number=sevenNum[i]; root=maketree(number); do { number=sevenNum[++i]; p=q=root; while(q!=NULL) { p=q; if (number info) q = p->left; else q = p->right; } q=maketree(number); if (numberinfo) p->left=q; else p->right=q; } while(i!=8); printf("X Traversing \n "); xtrav(root); } void xtrav(NODEPTR tree) { if (tree != NULL) { xtrav(tree->left); xtrav(tree->right); printf("%d \n", tree->info); } } NODEPTR maketree(int x) { NODEPTR p; p=(NODEPTR) malloc(sizeof(struct nodetype)); p->info=x; p->left=NULL;p->right=NULL; return(p); }
4)
A)Trace(Draw data structure that you obtained) ./* That's what the teacher said :( can u check the problem again, pls */
B)List the output of the following program.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct nodetype {
struct nodetype *left ;
int info ;
struct nodetype *right;
};
typedef struct nodetype NODE;
typedef NODE *NODEPTR;
void main()
{
NODEPTR root , p , q;
root=NULL;
int sevenNum[8]={65 , 52 , 45 , 27 , 33 , 79 , 26 , 48};
int number, i=0;
number=sevenNum[i];
root=maketree(number);
do
{
number=sevenNum[++i];
p=q=root;
while(q!=NULL)
{
p=q;
if (number <p->info)
q = p->left;
else
q = p->right;
}
q=maketree(number);
if (number<p->info)
p->left=q;
else
p->right=q;
}
while(i!=8);
printf("X Traversing \n ");
xtrav(root);
}
void xtrav(NODEPTR tree)
{
if (tree != NULL)
{
xtrav(tree->left);
xtrav(tree->right);
printf("%d \n", tree->info);
}
}
NODEPTR maketree(int x)
{
NODEPTR p;
p=(NODEPTR) malloc(sizeof(struct nodetype));
p->info=x;
p->left=NULL;p->right=NULL;
return(p);
}
Step by step
Solved in 3 steps with 1 images