#include
#include
#define NULL 0
void main()
{
struct node{
int data;
struct node *link;
};
typedef struct node node;
int val,ch,ch2,cnt,loc,flag=0,num;
node *first=NULL,*temp,*ptr,*prv,*next;
char c='y';
clrscr();
while(c=='y')
{
printf("\n1.Insert \n2.Delete \n3.Display \n4.Search \n5.Exit");
printf("\n Enter your choice:");
scanf("%d",&ch);
switch(ch)
{
case 1:
printf("\n1.Insert beginning \n2.Insert End \n3.Insert before given node\n4.insret after given node");
printf("\nEnter your choice:");
scanf("%d",&ch2);
printf("\n Enter value:");
scanf("%d",&val);
switch(ch2)
{
case 1:
temp=(node*)malloc(sizeof(node));
temp->data=val;
if(first==NULL)
temp->link=NULL;
temp->link=first;
first=temp;
break;
case 2:
temp=(node*)malloc(sizeof(node));
temp->data=val;
temp->link=NULL;
ptr=first;
if(first==NULL)
first=temp;
else
{
while(ptr->link!=NULL)
{
ptr=ptr->link;
}
}
ptr->link=temp;
break;
case 3:
temp=(node*)malloc(sizeof(node));
temp->data=val;
printf("\n Enter node before you want to add node:");
scanf("%d",&num);
ptr=first;
while(ptr->data!=num)
{
prv=ptr;
ptr=ptr->link;
}
temp->link=ptr;
if(ptr==first)
first=temp;
else
prv->link=temp;
break;
case 4:
temp=(node*)malloc(sizeof(node));
temp->data=val;
temp->link=NULL;
printf("\n Enter node after you want to add node:");
scanf("%d",&num);
ptr=first;
while(ptr->data!=num)
{
ptr=ptr->link;
}
temp->link=ptr->link;
ptr->link=temp;
break;
}
break;
case 2:
printf("\n1.Delete beginning \n2.Delete End \n3.Delete by Element");
printf("\nEnter your choice:");
scanf("%d",&ch2);
switch(ch2)
{
case 1:
if(first==NULL)
printf("\n List is empty.");
else
{
temp=first;
printf("\n Deleted element is:%d",temp->data);
first=first->link;
}
break;
case 2:
if(first==NULL)
printf("\n List is empty.");
else
{
temp=first;
ptr=temp;
while(temp->link!=NULL)
{
ptr=temp;
temp=temp->link;
}
printf("\n Deleted element is:%d",temp->data);
ptr->link=NULL;
if(first==ptr)
first=NULL;
}
break;
case 3:
if(first==NULL)
printf("\n List is empty.");
else
{
temp=first;
printf("\n Enter element you want to delete:");
scanf("%d",&num);
if(temp->link!=NULL && temp->data==num)
{
first=temp->link;
free(temp);
}
else if(temp->link==NULL && temp->data==num)
{
first=NULL;
free(temp);
}
else
{
ptr=first;
while(ptr->data!=num)
{
prv=ptr;
ptr=ptr->link;
}
}
temp=ptr;
prv->link=ptr->link;
free(temp);
}
break;
}
break;
case 3:
if(first==NULL)
printf("\n List is empty.");
else
{
temp=first;
while(temp!=NULL)
{
printf("\t %d",temp->data);
temp=temp->link;
}
}
break;
case 4:
if(first==NULL)
printf("\n Linked List is empty");
else
{
printf("\n Enter element you want to search:");
scanf("%d",&val);
ptr=first;
flag=0;
while(ptr!=NULL)
{
if(ptr->data==val)
{
flag=1;
break;
}
else
flag=0;
ptr=ptr->link;
}
if(flag==1)
printf("\n Element found linked list.");
else
printf("\n Element is not found in linked list");
}
break;
case 5:
exit(0);
}
}
}
OUTPUT
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:1
1.Insert beginning
2.Insert End
3.Insert before given node
4.insret after given node
Enter your choice:1
Enter value:22
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:1
1.Insert beginning
2.Insert End
3.Insert before given node
4.insret after given node
Enter your choice:2
Enter value:44
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:1
1.Insert beginning
2.Insert End
3.Insert before given node
4.insret after given node
Enter your choice:3
Enter value:11
Enter node before you want to add node:22
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:1
1.Insert beginning
2.Insert End
3.Insert before given node
4.insret after given node
Enter your choice:4
Enter value:33
Enter node after you want to add node:22
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:3
11 22 33 44
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:4
Enter element you want to search:33
Element found linked list.
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:2
1.Delete beginning
2.Delete End
3.Delete by Element
Enter your choice:1
Deleted element is:11
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:2
1.Delete beginning
2.Delete End
3.Delete by Element
Enter your choice:2
Deleted element is:44
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:3
22 33
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:2
1.Delete beginning
2.Delete End
3.Delete by Element
Enter your choice:3
Enter element you want to delete:22
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:3
33
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:2
1.Delete beginning
2.Delete End
3.Delete by Element
Enter your choice:3
Enter element you want to delete:33
1.Insert
2.Delete
3.Display
4.Search
5.Exit
Enter your choice:4
Linked List is empty
Comments
Post a Comment