node *bst_to_dl(root) { node *head1=NULL,head2=NULL,*temp=NULL; temp=(node *)calloc(1,sizeof(node)); temp->value=root->value; if(bst-left) head1=bst_to_dl(root-left); if (bst->right) head2=bst_to_dl(root->right); if(head2&&head1)//root having two children { head1->next=head2; head2->prev=head1; temp->next=head1; head1->prev=temp; } else if(head1) //root having only one child { temp->next=head1; head1->prev=temp; } return temp; }
-- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.