check the below linklist in C. It fills the third linklist in alternate order of first two link list
#include<iostream>
#include<conio.h>
using namespace std;
typedef struct node
{
int data;
node *next;
};
void printLinkList(node *head)
{
while(head != NULL)
{
printf("%d ",head->data);
head = head->next;
}
}
int main()
{
node *head1 = NULL;
node *head2 = NULL;
node *head3 = NULL;
node *traverse = NULL;
node *traverse1 = NULL;
node *traverse2 = NULL;
node *traverse3 = NULL;
node *temp = NULL;
int counter = 0;
int LL1[6] = {1,2,3,4,5,6};
int LL2[6] = {7,8,9,10,11,12};
while(counter < 6)
{
if(head1 == NULL)
{
node *temp;
temp = (node*)malloc(sizeof(node));
temp->data = LL1[counter++];
temp->next = NULL;
head1 = traverse = temp;
}
else
{
temp = NULL;
temp = (node*)malloc(sizeof(node));
temp->data = LL1[counter++];
temp->next = NULL;
traverse->next = temp;
traverse = traverse->next;
}
}
counter = 0;
traverse = NULL;
while(counter < 6)
{
if(head2 == NULL)
{
node *temp;
temp = (node*)malloc(sizeof(node));
temp->data = LL2[counter++];
temp->next = NULL;
head2 = traverse = temp;
}
else
{
temp = NULL;
temp = (node*)malloc(sizeof(node));
temp->data = LL2[counter++];
temp->next = NULL;
traverse->next = temp;
traverse = traverse->next;
}
}
counter = 0;
traverse = NULL;
traverse1 = head1;
traverse2 = head2;
while(traverse1 != NULL && traverse2 != NULL)
{
if(head3 == NULL && traverse1 != NULL)
{
temp = NULL;
temp = (node*)malloc(sizeof(node));
temp->data = traverse1->data;
temp->next = NULL;
head3 = traverse3 = temp;
traverse1 = traverse1->next;
}
else if(traverse1 != NULL)
{
temp = NULL;
temp = (node*)malloc(sizeof(node));
temp->data = traverse1->data;
temp->next = NULL;
traverse3->next = temp;
traverse1 = traverse1->next;
traverse3 = traverse3->next;
}
if(traverse2 != NULL)
{
temp = NULL;
temp = (node*)malloc(sizeof(node));
temp->data = traverse2->data;
temp->next = NULL;
traverse3->next = temp;
traverse2 = traverse2->next;
traverse3 = traverse3->next;
}
}
printLinkList(head1);
printf("\n");
printLinkList(head2);
printf("\n");
printLinkList(head3);
printf("\n");
return 0;
}
</conio.h></iostream>