Implementation of Circular Linked List
Implementation of Circular Linked List
LIST
#include<conio.h>
#include<stdio.h>
struct node
{
struct node *next;
int info;
};
struct node *head;
void insert_end(int i) //FUNCTION TO INSERT IN A CIRCULAR LINKED LIST
{
struct node *temp,*trav;
if(head==NULL)
{
temp=malloc(sizeof(struct dnode));
temp->info=i;
head=temp;
temp->next=head;
}
else
{
trav=head;
while(trav->next!=head)
trav=trav->next;
temp=malloc(sizeof(struct dnode));
temp->info=i;
temp->next=head;
head=temp;
trav->next=head;
}
}
{
struct node *trav,ptr;
trav=head;
if(trav= =NULL)
printf(“\n LIST IS EMPTY.”);
else
{
while(trav->next!=head)
{
trav=trav->next;
}
ptr=head;
head =head->next;
trav->next=head;
printf(“\n ELEMENT DELETED IS-:”,ptr->info);
free(ptr);
}
}
void main()
{
clrscr();
insert_beg(20);
insert_beg(30);
delete_end();
insert_beg(40);
insert_beg(50);
delete_end();
insert_beg(60);
insert_beg(70);
display();
getch();
}
OUTPUT
20 40 60 70