← All resources

Write a program in C to input an array and sort it using Binary Search Tree sorting algorithm

#include<stdio.h>
#include<conio.h>
#include<malloc.h>
typedef struct node
{
	int d;
	struct node *right, *left;
}Node;
int k, a[10];
Node *root=NULL;
void add(int data)
{
	int x, y;
	Node *p, *q;
	p = (Node *)malloc(sizeof(Node));
	p->left=NULL;
	p->right=NULL;
	p->d=data;
	if(root==NULL)
	{
		root = p;
		return;
	}
	q = root;
	while(q!=NULL)
	{
		x = q->d;
		y = p->d;
		if(y<x)
		{	if(q->left==NULL)
			{
				q->left=p;
				return;
			}
			q = q->left;
		}
		if(y>x)
		{
			if(q->right==NULL)
			{
				q->right = p;
				return;
			}
			q = q->right;
		}
	}
}
void inorder(Node *q)
{
	if(q!=NULL)
	{
		inorder(q->left);
		a[k] = q->d;
		k++;
		inorder(q->right);
	}
}
void main()
{
	int i;
	clrscr();
	printf("nEnter the values of the array:

");
	for(i=0;i<10;i++)
	{
		scanf("%d", &a[i]);
		add(a[i]);
	}
	k=0;
	inorder(root);
	printf("nSorted Array: n");
	for(i=0;i<10;i++)
	printf("%dn", a[i]);
}