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.

Reply via email to