Circular Linked List
Circular Linked List
#include<stdio.h>
#include<stdlib.h>
struct node
int data;
};
void randominsert();
void begin_delete();
void last_delete();
void random_delete();
void display();
void search();
int main ()
while(choice != 7)
scanf("\n%d",&choice);
switch(choice)
case 1:
beginsert();
break;
case 2:
lastinsert();
break;
case 3:
begin_delete();
break;
case 4:
last_delete();
break;
case 5:
search();
break;
case 6:
display();
break;
case 7:
exit(0);
break;
default:
return 0;
void beginsert()
int item;
if(ptr == NULL)
printf("\nOVERFLOW");
else
scanf("%d",&item);
if(head == NULL)
head = ptr;
else
{ temp = head;
while(temp->next != head)
temp = temp->next;
ptr->next = head;
head = ptr;
printf("\nnode inserted\n");
void lastinsert()
int item;
if(ptr == NULL)
printf("\nOVERFLOW\n");
else
{ printf("\nEnter Data?");
scanf("%d",&item);
ptr->data = item;
if(head == NULL)
head = ptr;
else
{ temp = head;
printf("\nnode inserted\n");
}}
void begin_delete()
if(head == NULL)
printf("\nUNDERFLOW");
head = NULL;
free(head);
printf("\nnode deleted\n");
else
{ ptr = head;
ptr->next = head->next;
free(head);
head = ptr->next;
printf("\nnode deleted\n");
}}
void last_delete()
if(head==NULL)
printf("\nUNDERFLOW");
head = NULL;
free(head);
printf("\nnode deleted\n");
else
{ ptr = head;
while(ptr ->next != head)
{ preptr=ptr;
ptr = ptr->next;
free(ptr);
printf("\nnode deleted\n");
}}
void search()
int item,i=0,flag=1;
ptr = head;
if(ptr == NULL)
printf("\nEmpty List\n");
else
scanf("%d",&item);
flag=0;
else
if(ptr->data == item)
flag=0;
break;
else
{
flag=1;
i++;
if(flag != 0)
}}
void display()
ptr=head;
if(head == NULL)
{ printf("\nnothing to print");
else
}}