demonstrate how to implement circular linked list.
Description:
In the circular linked list the link of lat node is connected to the first node.Code:
# include <stdio.h>
# include <stdlib.h>
struct node
{
int data;
struct node *link;
};
struct node *insert(struct node *p , int n)
{
struct node *temp;
if(p==NULL)
{
p=(struct node *)malloc(sizeof(struct node));
if(p==NULL)
{
printf("Error Occurred\n");
exit(0);
}
p-> data = n;
p-> link = p;
}
else
{
temp = p;
while (temp-> link != p)
temp = temp-> link;
temp-> link = (struct node *)malloc(sizeof(struct node));
if(temp -> link == NULL)
{
printf("Error Occurred\n");
exit(0);
}
temp = temp-> link;
temp-> data = n;
temp-> link = p;
}
return (p);
}
void printlist ( struct node *p )
{
struct node *temp;
temp = p;
printf("The data in the list are :\n");
if (p!= NULL)
{ do
{
printf("%d\t",temp-> data);
temp=temp->link;
}while(temp!=p);
}
else
printf("The link is empty \n");
}
void main()
{
int num;
int value;
struct node *start = NULL ;
printf("Enter the number of nodes to be created \n");
scanf("%d",&num);
while ( num-- > 0 )
{
printf( "Enter the data to be placed in a node\n");
scanf("%d",&value);
start = insert ( start , value );
}
printlist ( start );
}
0 comments:
Speak up your mind
Tell us what you're thinking... !