diff options
author | Saumit Dinesan <79687674+Saumit-D@users.noreply.github.com> | 2021-12-07 14:32:35 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-07 14:32:35 +0530 |
commit | 2e73fc8ed96c249f39dfdad9ac0d1b5e95f36004 (patch) | |
tree | 738ea5c536057bfcfdba2669bba0d0a316bb0c77 | |
parent | 8679acc6c42cc017263940a5899f23e23cb28cd6 (diff) |
Delete s.c
-rw-r--r-- | s.c | 158 |
1 files changed, 0 insertions, 158 deletions
@@ -1,158 +0,0 @@ -#include<stdio.h> -#include<stdlib.h> - -struct node -{ - int data; - struct node *left,*right; -}; - -/* Function to count number of nodes in a Binary Tree */ -int count=0; -struct node * createnode(struct node *newnode,int data) -{ - newnode=malloc(sizeof(struct node)); - newnode->data=data; - newnode->left= newnode->right = NULL; - return newnode; -} -void insert(struct node **root,int data) -{ - struct node *newnode; - newnode=createnode(newnode,data); - if(*root==NULL) - *root=newnode; - else - { - struct node *temp=*root; - while(1) - { - if(data <= temp->data) - { - if(temp->left==NULL) - {temp->left=newnode; - break;} - temp=temp->left; - } - else - { - if(temp->right==NULL) - {temp->right=newnode; - break;} - temp=temp->right; - } - } - } -} - -void createbst(struct node **root) -{ - int n,i; - int data; - printf("Enter the number of nodes: "); - scanf("%d",&n); - for(i=0;i<n;i++) - { - printf("Enter data: "); - scanf("%d",&data); - insert(root,data); - } -} - -int search(struct node *root, int data) -{if(root==NULL) -printf("Empty Tree"); - else - { - struct node *temp=root; - while(1) - { - if(data <= temp->data) - { - if(temp->left==NULL) - return 0; - temp=temp->left; - if(temp->data == data) - return 1; - } - else - { - if(temp->right==NULL) - return 0; - temp=temp->right; - if(temp->data == data) - return 1; - } - } - } -} - -void display(struct node *temp) -{ -if(temp) -{ -printf("%d",temp->data); -display(temp->left); -display(temp->right); -} -} -void countNodes(struct node *temp) -{ -if(temp) -{ -count++; -countNodes(temp->left); -countNodes(temp->right); -} -} -int menu() -{ -int ch; -printf("\n0.Exit"); -printf("\n1.Create tree"); -printf("\n2.Display tree"); -printf("\n3.Search a node"); -printf("\n4.Count nodes in the tree"); - -printf("\nEnter your choice: "); -scanf("%d",&ch); -return ch; -} - -main() -{ -struct node *root= NULL; -int ch; -while((ch=menu())!=0) -{ -if(ch==1) -createbst(&root); -else -if(ch==2) -{ -display(root); -printf("\n"); -getchar(); -} -else -if(ch==3) -{ -int data; -printf("\nEnter data to be searched: "); -scanf("%d",&data); - -if(search(root,data) == 1 ) -printf("Node %d is present in tree\n",data); -else -printf("Node %d is not present in tree\n",data); -getchar(); -} -else -if(ch==4) -{ -countNodes(root); -printf("Nodes are : %d\n",count); -getchar(); -} -} -} |