Saturday, 13 August 2011

Linked List Operation

#include
#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(iempno);
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