Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct treenode{
- int elem;
- int color;
- struct treenode *left,*right,*parent;
- }treenode_t;
- treenode_t *create_node(int elem){
- treenode_t *newnode=(treenode_t *)malloc(sizeof(treenode_t *));
- newnode->elem=elem;
- newnode->left=NULL;
- newnode->right=NULL;
- newnode->color=0;
- newnode->parent=NULL;
- return newnode;
- }
- void insert(treenode_t **node,int elem){
- if(*node==NULL){
- *node=create_node(elem);
- }else{
- treenode_t *store_parent;
- treenode_t *ptr;
- ptr=*node;
- while(ptr!=NULL){
- store_parent=ptr;
- if(elem<ptr->elem){
- if(ptr->left==NULL){
- ptr->left=create_node(elem);
- (ptr->left)->parent=store_parent;
- (ptr->left)->color=1;
- }
- ptr=ptr->left;
- }
- else if(elem>ptr->elem){
- if(ptr->right==NULL){
- ptr->right=create_node(elem);
- (ptr->right)->parent=store_parent;
- (ptr->right)->color=1;
- }
- ptr=ptr->right;
- }
- }
- }
- }
- void print_tree(treenode_t *node){
- if(node==NULL)
- return;
- print_tree(node->left);
- printf("%dn",node->elem);
- print_tree(node->right);
- }
- void main(){
- treenode_t *root=NULL;
- insert(&root,10);
- insert(&root,5);
- insert(&root,14);
- print_tree(root);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement