fork download
  1. #include<stdio.h>
  2. #include<malloc.h>
  3.  
  4. struct node
  5. {
  6. int data;
  7. struct node* left;
  8. struct node* right;
  9. struct node* next;
  10. };
  11.  
  12. typedef struct node Node;
  13.  
  14. void AddNode(Node* root, int number)
  15. {
  16. if(root->data==number)
  17. return;
  18. else if(root->data>number)
  19. {
  20. if(root->left!=NULL)
  21. {
  22. AddNode(root->left,number);
  23. }
  24. else
  25. {
  26. Node* newNode = (Node*)malloc(sizeof(Node));
  27. newNode->data = number;
  28. newNode->left = NULL;
  29. newNode->right= NULL;
  30. newNode->next= NULL;
  31. root->left = newNode;
  32. }
  33. }
  34. else if(root->data<number)
  35. {
  36. if(root->right!=NULL)
  37. {
  38. AddNode(root->right,number);
  39. }
  40. else
  41. {
  42. Node* newNode = (Node*)malloc(sizeof(Node));
  43. newNode->data = number;
  44. newNode->left = NULL;
  45. newNode->right= NULL;
  46. newNode->next= NULL;
  47. root->right= newNode;
  48. }
  49. }
  50. }
  51.  
  52. Node* Populate(Node* root)
  53. {
  54. if(root!=NULL)
  55. {
  56. root->next = Populate(root->right);
  57. if(root->left!=NULL)
  58. {
  59. root->left->next = root;
  60. return Populate(root->left);
  61. }
  62. else
  63. {
  64. return root;
  65. }
  66. }
  67. else
  68. {
  69. return NULL;
  70. }
  71. }
  72.  
  73. int main()
  74. {
  75. Node* start;
  76. Node* root = (Node*)malloc(sizeof(Node));
  77. root->data = 4;
  78. root->left = NULL;
  79. root->right= NULL;
  80. root->next= NULL;
  81.  
  82. AddNode(root,3);
  83. AddNode(root,7);
  84. AddNode(root,1);
  85. AddNode(root,2);
  86. AddNode(root,6);
  87. AddNode(root,9);
  88. AddNode(root,17);
  89. AddNode(root,11);
  90. AddNode(root,10);
  91. AddNode(root,3);
  92. AddNode(root,4);
  93.  
  94. start = Populate(root);
  95.  
  96. while(start!=null)
  97. {
  98. printf("%d\t",start->data);
  99. start = start->next;
  100. }
  101.  
  102. return 1;
  103. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c: In function ‘main’:
prog.c:96: error: ‘null’ undeclared (first use in this function)
prog.c:96: error: (Each undeclared identifier is reported only once
prog.c:96: error: for each function it appears in.)
stdout
Standard output is empty