Page 125 - DCAP605_ADVANCED_DATA_STRUCTURE_AND_ALGORITHMS
P. 125

Advanced Data Structure and Algorithms




                    Notes                  }

                                          else
                                          {
                                           temp1 = p;
                                           /* traverse the tree to get a pointer to that node whose child will
                                     be the newly created node*/
                                          while(temp1 != NULL)
                                          {
                                            temp2 = temp1;
                                            if( temp1 ->data > val)
                                                 temp1 = temp1->lchild;
                                            else
                                                 temp1 = temp1->rchild;
                                          }
                                          if( temp2->data > val)
                                          {
                                             temp2->lchild = (struct tnode*)malloc(sizeof(struct tnode)); /
                                     *inserts the newly created node
                                           as left child*/
                                              temp2 = temp2->lchild;
                                              if(temp2 == NULL)
                                                   {
                                              printf(“Cannot allocate\n”);
                                              exit(0);
                                                  }
                                             temp2->data = val;
                                             temp2->lchild=temp2->rchild = NULL;
                                        }
                                        else
                                        {
                                           temp2->rchild = (struct tnode*)malloc(sizeof(struct tnode));/ *inserts
                                     the newly created node
                                       as left child*/
                                          temp2 = temp2->rchild;
                                          if(temp2 == NULL)
                                               {
                                          printf(“Cannot allocate\n”);
                                          exit(0);
                                              }
                                          temp2->data = val;
                                          temp2->lchild=temp2->rchild = NULL;




          120                              LOVELY PROFESSIONAL UNIVERSITY
   120   121   122   123   124   125   126   127   128   129   130