#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node* left;
struct node* right;
};
void preorder(struct node* root)
{
if(root == NULL) return;
printf("%d\n",root->data);
preorder(root->left);
preorder(root->right);
}
struct node* newnode(int data)
{
struct node* newnode = (struct node*)malloc(sizeof(struct node));
newnode->data = data;
newnode->left = NULL;
newnode->right = NULL;
return newnode;
}
struct node* insert(struct node* root , int data)
{
if(root == NULL)
{
root = newnode(data);
return root;
}
else if(data <= root->data)
{
root->left = insert(root->left,data);
}
else{
root->right= insert(root->right,data);
}
return root;
}
int main()
{
int n;
struct node* root = NULL;
root = insert(root,20);
struct node* main_root = root;
root = insert(root,15);
root = insert(root,25);
preorder(main_root);
return 0;
}
SAME MUST BE DONE FOR INORDER AND POSTORDER.
#include<stdlib.h>
struct node
{
int data;
struct node* left;
struct node* right;
};
void preorder(struct node* root)
{
if(root == NULL) return;
printf("%d\n",root->data);
preorder(root->left);
preorder(root->right);
}
struct node* newnode(int data)
{
struct node* newnode = (struct node*)malloc(sizeof(struct node));
newnode->data = data;
newnode->left = NULL;
newnode->right = NULL;
return newnode;
}
struct node* insert(struct node* root , int data)
{
if(root == NULL)
{
root = newnode(data);
return root;
}
else if(data <= root->data)
{
root->left = insert(root->left,data);
}
else{
root->right= insert(root->right,data);
}
return root;
}
int main()
{
int n;
struct node* root = NULL;
root = insert(root,20);
struct node* main_root = root;
root = insert(root,15);
root = insert(root,25);
preorder(main_root);
return 0;
}
SAME MUST BE DONE FOR INORDER AND POSTORDER.
Comments
Post a Comment