Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<conio.h>
- struct btreenode
- {
- struct btreenode *leftchild;
- int data;
- struct btreenode *rightchild;
- };
- insert(struct btreenode**,int);
- inorder(struct btreenode*);
- preorder(struct btreenode*);
- postorder(struct btreenode*);
- int main()
- {
- struct btreenode *bt;
- int req, i=0, num;
- bt=NULL;
- clrscr();
- printf("Specify the no of data to be entered::\n");
- scanf("%d",&req);
- while(i<req)
- {
- printf("Enter the ith i.e %d number::",i);
- scanf("%d",&num);
- insert(&bt , num); //need to define later.....function call
- i++;
- }
- clrscr();
- printf("Inorder Traversal::\n");
- inorder(bt); //define later
- printf("\n\nPreorder Traversal::\n");
- preorder(bt); //define later
- printf("\n\n Post order Traversal::\n");
- postorder(bt); //define later
- getch();
- return 0;
- }
- /*insert a node to an binary tree*/
- insert(struct btreenode **sr, int num)
- {
- if(*sr == NULL)
- {
- *sr = malloc(sizeof(struct btreenode));
- (*sr)->leftchild=NULL;
- (*sr)->data = num;
- (*sr)->rightchild = NULL;
- }
- else /*search the node where to be add*/
- {
- /*if new data is less then traverse to left*/
- if(num<((*sr)->data))
- insert(&((*sr)->leftchild),num);
- else
- insert(&((*sr)->rightchild), num);
- }
- }
- /*traversing the node in inoreder fashion*/
- inorder(struct btreenode *sr)
- {
- if(sr!=NULL)
- {
- inorder(sr->leftchild);
- printf("%d ",sr->data); //print the data that has already traversed
- //whose left child is null
- inorder(sr->rightchild);
- }
- else
- {}
- }
- preorder(struct btreenode *sr)
- {
- if(sr!=NULL)
- {
- printf("%d ",sr->data); //print the data that has already traversed
- preorder(sr->leftchild);
- //whose left child is null
- preorder(sr->rightchild);
- }
- else
- {}
- }
- postorder(struct btreenode *sr)
- {
- if(sr!=NULL)
- {
- postorder(sr->leftchild);
- postorder(sr->rightchild);
- printf("%d ",sr->data); //print the data that has already traversed
- //whose left child is null
- }
- else
- {}
- }
Advertisement
Add Comment
Please, Sign In to add comment