All pastes #720365 Raw Edit

Someone

public text v1 · immutable
#720365 ·published 2007-09-30 07:25 UTC
rendered paste body
#include<stdio.h>
#include<conio.h>

typedef struct nodetype
{
	int num;
	struct nodetype *left, *right;
}tree;

tree *makenode(int n)
{
	tree *p;
	p=(tree *)malloc(sizeof(tree));
	p->num=n;
	p->left=NULL;
	p->right=NULL;
	return p;
}

tree *insert_tree(int n, tree *root)
{
	if(root==NULL)
		root=makenode(n);
	else if (n<root->num)
	     root->left=insert_tree(n, root->left);
	else if (n>root->num)
		root->right=insert_tree(n, root->right);
	else
	printf("\nElement already exsists");
	return (root);
}

tree *search(int n, tree *root)
{
	if(root==NULL)
	{
		printf("\nElement not found!");
		return root;
	}
	else if(n==root->num)
	{
		printf("\nElement found!");
		return root;
	}
	else if (n<root->num)
	{
		return (search(n,root->left));
	}
	else
		return (search(n, root->right));
}

void inorder(tree *root)
{
	if(root)
	{
		inorder(root->left);
		printf("%d\t", root->num);
		inorder(root->right);
	}
}

void preorder(tree *root)
{
	if(root);
	{
		printf("%d\t", root->num);
		preorder(root->left);
		preorder(root->right);
	}
}

void postorder(tree *root)
{
	if(root)
	{
		printf("%d\t", root->num);
		postorder(root->left);
		postorder(root->right);
	}
}

void main()
{
	tree *root;
	int i, n, elt, s;
	root=NULL;
	clrscr();
	printf("\nEnter the number of elements: ");
	scanf("%d", &n);
	printf("\nEnter the elements: ");
	for(i=0; i<n; i++)
	{
		scanf("%d", &elt);
		root=insert_tree(elt, root);
	}
	printf("\nInorder: ");
	inorder(root);
	printf("\nPreorder: ");
	preorder(root);
	printf("\nPostorder: ");
	postorder(root);
	printf("\nEnter element to be searched: ");
	scanf("%d", &s);
	root=search(s, root);
	getch();
}