#include
#include
struct emp
{
int empno;
struct emp *next;
}*first1,*first2,*first3,*first4,*old1,*old2,*old3,*old4,*newrec1,*newrec2,*newrec3,*newrec4;
void CreateList1();
void CreateList2();
void CreateList3();
void CreateList4();
void Display1();
void Display2();
void Display3();
void Display4();
void Concat();
void Merge();
void Union();
void Intersection();
void del();
void main()
{
clrscr();
int n,i=0;
printf("\n How many times you want to add in list 1 :->");
scanf("%d",&n);
while(i
scanf("%d",&n);
i=0;
while(i
newrec1->next=NULL;
if(first1==NULL)
first1=newrec1;
else
old1->next=newrec1;
old1=newrec1;
}
void CreateList2()
{
newrec2=(struct emp *)malloc(sizeof(struct emp));
printf("\n Dynamic memory is allocated successfully !");
printf("\n Enter the Emp Number. ");
scanf("%d",&newrec2->empno);
newrec2->next=NULL;
if(first2==NULL)
first2=newrec2;
else
old2->next=newrec2;
old2=newrec2;
}
void CreateList3()
{
newrec3=(struct emp *)malloc(sizeof(struct emp));
newrec3->next=NULL;
if(first3==NULL)
first3=newrec3;
else
old3->next=newrec3;
//old3=newrec3;
}
void CreateList4()
{
newrec4=(struct emp *)malloc(sizeof(struct emp));
newrec4->next=NULL;
if(first4==NULL)
first4=newrec4;
else
old4->next=newrec4;
//old3=newrec3;
}
void Concat()
{
newrec1=first1;
while(newrec1!=NULL)
{
CreateList3();
newrec3->empno=newrec1->empno;
old3=newrec3;
newrec1=newrec1->next;
}
newrec2=first2;
while(newrec2!=NULL)
{
CreateList3();
newrec3->empno=newrec2->empno;
old3=newrec3;
newrec2=newrec2->next;
}
}
void Merge()
{
newrec1=first1;
newrec2=first2;
//newrec3->next=NULL;
while(newrec1!=NULL || newrec2!=NULL)
{
CreateList4();
newrec4->empno=newrec1->empno;
newrec1=newrec1->next;
old4=newrec4;
CreateList4();
newrec4->empno=newrec2->empno;
newrec2=newrec2->next;
old4=newrec4;
}
Display4();
}
void Union()
{
newrec1=first1;
newrec2=first2;
int temp;
int c=0;
del();
while(newrec1!=NULL)
{
CreateList4();
old4=newrec4;
newrec4->empno=newrec1->empno;
newrec1=newrec1->next;
}
newrec4=first4;
while(newrec2!=NULL)
{
temp=newrec2->empno;
while(newrec4!=NULL)
{
if(temp!=newrec4->empno)
c=1;
else
{
c=0;
break;
}
newrec4=newrec4->next;
}
if(c==1)
{
CreateList4();
old4=newrec4;
newrec4->empno=newrec2->empno;
}
newrec2=newrec2->next;
newrec4=first4;
}
Display4();
}
void Intersection()
{
newrec1=first1;
newrec2=first2;
int temp;
int c=0;
del();
while(newrec2!=NULL)
{
temp=newrec2->empno;
while(newrec1!=NULL)
{
if(temp==newrec1->empno)
{
c=1;
break;
}
else if(temp!=newrec1->empno)
{
c=0;
}
newrec1=newrec1->next;
}
if(c==1)
{
CreateList4();
old4=newrec4;
newrec4->empno=newrec2->empno;
c=0;
}
newrec2=newrec2->next;
newrec1=first1;
}
Display4();
}
void del()
{
newrec4=first4;
while(newrec4!=NULL)
{
free(newrec4);
newrec4=newrec4->next;
}
}
void Display1()
{
newrec1=first1;
while(newrec1!=NULL)
{
printf("\n Employee Number. %d",newrec1->empno);
newrec1=newrec1->next;
}
newrec1->next=NULL;
}
void Display2()
{
newrec2=first2;
while(newrec2!=NULL)
{
printf("\n Employee Number. %d",newrec2->empno);
newrec2=newrec2->next;
}
newrec2->next=NULL;
}
void Display3()
{
newrec3=first3;
while(newrec3!=NULL)
{
printf("\n Employee Number. %d",newrec3->empno);
newrec3=newrec3->next;
}
newrec3->next=NULL;
}
void Display4()
{
newrec4=first4;
while(newrec4!=NULL)
{
printf("\n Employee Number. %d",newrec4->empno);
newrec4=newrec4->next;
}
newrec4->next=NULL;
}
No comments:
Post a Comment