lems
November 23rd, 2008, 12:50 AM
I'm trying to make a binary search tree/tree insert function and I'm getting a segment fault error. This is my first time coding in C.
#include <stdio.h>
#include <stdlib.h>
typedef struct tree_node {
int val;
struct tree_node *left;
struct tree_node *right;
} tree_node;
tree_node* tree_insert(tree_node *root, int n){
tree_node *node;
node->val = n;
if(root == NULL){
return node;
}
else if(n < root->val)
return root->left = tree_insert(root->left, n);
else{
return root->right = tree_insert(root->right, n);
}
}
here's my main:
#include <stdio.h>
typedef struct tree_node {
int val;
struct tree_node *left;
struct tree_node *right;
} tree_node;
tree_node* tree_insert(tree_node*, int);
int tree_sum(tree_node*);
main() {
tree_node *root;
int n = 0;
do{
printf("Enter an integer (type 0 to quit): ");
scanf("%d", &n);
root = tree_insert(root, n);
} while(n != 0);
}
#include <stdio.h>
#include <stdlib.h>
typedef struct tree_node {
int val;
struct tree_node *left;
struct tree_node *right;
} tree_node;
tree_node* tree_insert(tree_node *root, int n){
tree_node *node;
node->val = n;
if(root == NULL){
return node;
}
else if(n < root->val)
return root->left = tree_insert(root->left, n);
else{
return root->right = tree_insert(root->right, n);
}
}
here's my main:
#include <stdio.h>
typedef struct tree_node {
int val;
struct tree_node *left;
struct tree_node *right;
} tree_node;
tree_node* tree_insert(tree_node*, int);
int tree_sum(tree_node*);
main() {
tree_node *root;
int n = 0;
do{
printf("Enter an integer (type 0 to quit): ");
scanf("%d", &n);
root = tree_insert(root, n);
} while(n != 0);
}