# Thread: Search and delete function for binary trees.

1. ## Search and delete function for binary trees.

I had an assignment that I completed and it was just inserting values into a binary tree and then displaying it. I was wondering what the code would be if I wanted to delete a number in the binary tree, or if I wanted to search for a number. Here is my code for my assignment if you can work off that. Thanks a lot in advance.

Code:
```#include <stdio.h>
#include<stdlib.h>

typedef struct bt_{
int value;
struct bt_ *right;
struct bt_ *left;
}BST;

BST* insert(BST* root, int value);
void printTree(BST* root);
void displayBST(BST* root, int depth);

int main(){

int value = 0;
BST *new_BST;

while(value != -1){
printf("\nEnter a number to put into the tree: ");
scanf("%d", &value);

new_BST = insert(new_BST, value);
}

printTree(new_BST);
}

BST* insert(BST* root, int value){
if(root != 0){
if(value < root->value)
root->left = insert(root->left, value);
else if( value > root->value)
root->right = insert(root->right, value);
return root;
}
BST *n = (BST*) malloc(sizeof(BST));
n->value = value;
n->left = n->right = 0;
return n;
}

void printTree(BST* root)
{
displayBST(root,0);
}

void displayBST(BST* root, int depth){

if(root==NULL)
{
printf("-\n");
return;
}
displayBST(root->left,depth+4);
printf("%d\n", root->value);
displayBST(root->right, depth+4);
}
{
int i;
for(i=0; i < numTimes; i++)
printf("%c", toPrint);
}``` 2. A few pointers:

int main should return 0 and have "void" as it's argument. Popular pages Recent additions 