#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node * next;
};
struct node * start;
struct node* ptr,*ptr1;
void insertfront(int x)
{
struct node *temp;
temp=(struct node*)malloc(sizeof(struct node));
if(start==NULL)
{
temp->data=x;
temp->next=temp;
start=temp;
}
else
{
ptr=start;
while(ptr->next!=start)
{ ptr=ptr->next;
}
temp->data=x;
temp->next=start;
ptr->next=temp;
start=temp;
}
}
void insertend(int y)
{
struct node *temp;
temp=(struct node*)malloc(sizeof(struct node));
if(start==NULL)
{
temp->data=y;
temp->next=temp;
start=temp;
}
else
{
temp->data=y;
ptr=start;
while(ptr->next!=start)
{
ptr=ptr->next;
}
ptr->next=temp;
temp->next=start;
}
}
void deletestart()
{
if(start==NULL)
{
printf("Empty!\n");
return;
}
else if(start->next==start)
{
start=NULL;
free(start);
}
else
{
ptr=start;
while(ptr->next!=start)
{
ptr=ptr->next;
}
ptr->next=start->next;
free(start);
start=ptr->next;
}
}
void deletelast()
{
if(start==NULL)
{
printf("Empty!\n");
return;
}
else if(start->next==start)
{
start=NULL;
free(start);
}
ptr,ptr1=start;
while(ptr->next!=start)
{
ptr1=ptr;
ptr=ptr->next;
}
ptr1->next=ptr->next;
free(ptr);
}
void display()
{
ptr=start;
if(ptr==NULL)
{
printf("Empty\n");
return;
}
while(ptr->next!=start)
{
printf("%d ", ptr->data);
ptr=ptr->next;
}
printf("%d ", ptr->data);
}
void main()
{
int a, num;
do
{
printf("\n1-insert start, 2-insert end, 3-delete start, 4-delete end, 5-display, 6-exit\n");
scanf("%d", &a);
switch(a)
{
case 1 : printf("Enter number\n");
scanf("%d", &num);
insertfront(num);
break;
case 2 : printf("Enter number\n");
scanf("%d", &num);
insertend(num);
break;
case 3 : deletestart();
break;
case 4 : deletelast();
break;
case 5 : display();
break;
case 6 : printf("Program terminated\n");
break;
default: printf("Enter valid number\n");
break;
}
}
while(a!=6);
}
To embed this program on your website, copy the following code and paste it into your website's HTML: