Linked List Full Program
Linked List Full Program
h>
#include<stdlib.h>
struct node
int number;
};
void delete_at_last();
void delete_at_position();
void delete_at_begin();
void insert_at_begin();
void create_linked_list();
void display_linked_list();
void traverse_linked_list();
void search();
int main()
int n,value,pos;
scanf("%d",&n);
while(n--)
{
create_linked_list();
display_linked_list();
int c;
scanf("%d",&c);
while(1)
switch(c)
case 1: insert_at_begin();
display_linked_list();
break;
scanf("%d%d",&pos,&value);
insert_at_position(value,pos);
display_linked_list();
break;
scanf("%d",&value);
insert_at_last(value);
display_linked_list();
break;
case 4: delete_at_last();
display_linked_list();
break;
case 5: delete_at_begin();
display_linked_list();
break;
case 6: delete_at_position();
//display_linked_list();
traverse_linked_list();
break;
case 7: search();
display_linked_list();
break;
case 8 : exit(1);
break;
return 0;
void create_linked_list()
int val;
printf("enter a number:\n");
scanf("%d",&val);
insert_at_last(val);
}
temp_node->number=value;
temp_node->next=NULL;
if(head==NULL)
head=temp_node;
last=temp_node;
else
last->next=temp_node;
last=temp_node;
void display_linked_list()
struct node*mylist;
mylist=head;
while(mylist!=NULL)
{
printf("%d\t",mylist->number);
mylist=mylist->next;
ptr1=head;
ptr2->number=value;
ptr2->next=NULL;
position--;
while(position!=1)
ptr1=ptr1->next;
position--;
ptr2->next=ptr1->next;
ptr1->next=ptr2;
void insert_at_begin()
printf("Enter a number\n");
scanf("%d",&temp->number);
temp->next=NULL;
temp->next=head;
head=temp;
void delete_at_begin()
struct node*temp;
temp=head;
head=head->next;
free(temp);
void delete_at_last()
temp1=head;
while(temp1->next!=last)
temp1=temp1->next;
temp1->next=NULL;
last=temp1;
void delete_at_position()
{
struct node *prev,*curr;
int i=1,pos;
prev=head;
scanf("%d",&pos);
while(i<pos-1)
prev=prev->next;
i++;
curr=prev->next;
prev->next=curr->next;
void search()
int key,flag=0;
scanf("%d",&key);
ptr=head;
while(ptr!=NULL)
if(key==ptr->number)
flag++;
break;
ptr=ptr->next;
if(flag==1)
void traverse_linked_list()
struct node*mylist;
mylist=head;
while(mylist!=NULL)
printf("%d\t",mylist->number);
mylist=mylist->next;