Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. typedef struct treenode{
  4. int elem;
  5. int color;
  6. struct treenode *left,*right,*parent;
  7. }treenode_t;
  8. treenode_t *create_node(int elem){
  9. treenode_t *newnode=(treenode_t *)malloc(sizeof(treenode_t *));
  10. newnode->elem=elem;
  11. newnode->left=NULL;
  12. newnode->right=NULL;
  13. newnode->color=0;
  14. newnode->parent=NULL;
  15. return newnode;
  16. }
  17. void insert(treenode_t **node,int elem){
  18. if(*node==NULL){
  19. *node=create_node(elem);
  20. }else{
  21. treenode_t *store_parent;
  22. treenode_t *ptr;
  23. ptr=*node;
  24. while(ptr!=NULL){
  25. store_parent=ptr;
  26. if(elem<ptr->elem){
  27. if(ptr->left==NULL){
  28. ptr->left=create_node(elem);
  29. (ptr->left)->parent=store_parent;
  30. (ptr->left)->color=1;
  31. }
  32. ptr=ptr->left;
  33. }
  34. else if(elem>ptr->elem){
  35. if(ptr->right==NULL){
  36. ptr->right=create_node(elem);
  37. (ptr->right)->parent=store_parent;
  38. (ptr->right)->color=1;
  39. }
  40. ptr=ptr->right;
  41. }
  42. }
  43. }
  44. }
  45. void print_tree(treenode_t *node){
  46. if(node==NULL)
  47. return;
  48. print_tree(node->left);
  49. printf("%dn",node->elem);
  50. print_tree(node->right);
  51. }
  52. void main(){
  53. treenode_t *root=NULL;
  54. insert(&root,10);
  55. insert(&root,5);
  56. insert(&root,14);
  57. print_tree(root);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement