Challenge

Project 1 - Creation of user defined data type to implement the user interfaces for working with ‘Set’ (Mathematical Set theory) using Linked List

#include <stdio.h>//preprocesser section
#include <stdlib.h>//preprocesser section
struct node //structur of linked list node
{
int data;//initalize datatype with variable
struct node *next;
} *LLOne, *LLTwo, *unionLL, *intersectionLL;

void initialize()//function

{
LLOne = LLTwo = NULL;
}

void insert(struct node **head, int num)

{
// new linked list node
struct node* newNode = (struct node*) malloc(sizeof(struct node));
newNode->data = num;
newNode->next = *head;
*head = newNode;
}
int search(struct node *head, int num)//search element in linked list by linear traversing
{
while (head != NULL)
{
if (head->data == num)
{
return 1;
}
head = head->next;
}
return 0;

}
struct node* findunion(struct node *LLOne, struct node *LLTwo)//return the union of two linked lists

{
unionLL = NULL;//add all nodes of frst linked list to unionLL
struct node *temp = LLOne;
while(temp != NULL)

{
insert(&unionLL, temp->data);
temp = temp->next;
}
while(LLTwo != NULL)

{
if(!search(LLOne, LLTwo->data))

{
insert(&unionLL, LLTwo->data);
}
LLTwo = LLTwo->next;
}
return unionLL;
}
struct node* intersection(struct node *LLOne, struct node *LLTwo)

{
intersectionLL = NULL;
while(LLOne != NULL)

{
if(search(LLTwo, LLOne->data))

{
insert(&intersectionLL, LLOne->data);
}
LLOne = LLOne->next;
}
return intersectionLL;
}
void printLinkedList(struct node *nodePtr)//Print a linked list from head node to tail node

{
while (nodePtr != NULL)

{
printf("%d", nodePtr->data);
nodePtr = nodePtr->next;
if(nodePtr != NULL)
printf("-->");

}
}

int main()

{
int i, LLOneCount, LLTwoCount, temp;
initialize();
printf("Enter number of nodes in first Linked List\n");//create frst linked list
scanf("%d", &LLOneCount);
printf("Enter %d integers\n", LLOneCount);
for(i=0; i<LLOneCount; i++)

{
scanf("%d", &temp);
insert(&LLOne, temp);
}
printLinkedList(LLOne);
printf("\nEnter number of nodes in second Linked List\n");//print linked list
scanf("%d", &LLTwoCount);
printf("Enter %d integers\n", LLTwoCount);
for(i=0; i<LLTwoCount; i++)

{
scanf("%d", &temp);
insert(&LLTwo, temp);
}
printLinkedList(LLTwo);
findunion(LLOne, LLTwo);
intersection(LLOne, LLTwo);
printf("\nUnion Linked List\n");
printLinkedList(unionLL);
printf("\nIntersection Linked List\n");
printLinkedList(intersectionLL);

return 0;
}

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.