See inline ..........
On Sat, Dec 18, 2010 at 12:09 PM, siva viknesh <[email protected]>wrote:
> Given a linked list structure where every node represents a linked list
> and contains two pointers of its type:
> (i) pointer to next node in the main list.
> (ii) pointer to a linked list where this node is head.
>
> Write a C function to flatten the list into a single linked list.
>
> Eg.
>
> If the given linked list is
> 1 -- 5 -- 7 -- 10
> | | |
> 2 6 8
> | |
> 3 9
> |
> 4
>
> then convert it to
>
>
> 1 - 2 - 3 - 4 - 5 - 6 - 9 - 7 - 8 -10
>
>
>
> My solution - not tested :
>
>
> struct node
> {
>
> int data;
>
> struct node *fwd; //pointer to next node in the main list.
>
>
> struct node *down; //pointer to a linked list where this node is head.
>
>
> }*head,*temp,*temp2;
>
>
> temp=head;
> while(temp->fwd!=NULL)
>
> {
> temp2=temp->fwd;
>
>
> while(temp->down!=NULL)
> {
>
> temp=temp->down;
> }
>
> temp->down=temp2;
>
>
// how will the code access the flattened linked list by down or by fwd ? In
this case there in no particular pointer by which the code can access the
linked list. Try to write a function to print the flattened linked list.
> temp->fwd=NULL;
>
> temp=temp2;
>
> }
>
>
>
> plz notify me if anything...other solutions and optimizations are welcome
>
>
>
>
>
>
>
>
> --
> Regards,
> $iva
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<algogeeks%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
--
Regards,
Rishi Agrawal
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.