Someone have been answered like this But I am not sure Pleas
Someone have been answered like this,
 But I am not sure.
 Please update if needed.
 Program to implement a circular link list.
 #include <stdio.h>
 #include <conio.h>
 #include <alloc.h>
 /* structure containing a data part and link part */
 struct node
 {
 int data ;
 struct node * link ;
 } ;
 void addcirq ( struct node **, struct node **, int ) ;
 int delcirq ( struct node **, struct node ** ) ;
 void cirq_display ( struct node * ) ;
 void main( )
 {
 struct node *front, *rear ;
 front = rear = NULL ;
 addcirq ( &front, &rear, 10 ) ;
 addcirq ( &front, &rear, 17 ) ;
 addcirq ( &front, &rear, 18 ) ;
 addcirq ( &front, &rear, 5 ) ;
 addcirq ( &front, &rear, 30 ) ;
 addcirq ( &front, &rear, 15 ) ;
 clrscr( ) ;
 printf ( \"Before deletion:\ \" ) ;
 cirq_display ( front ) ;
 delcirq ( &front, &rear ) ;
 delcirq ( &front, &rear ) ;
 delcirq ( &front, &rear ) ;
 printf ( \"\ \ After deletion:\ \" ) ;
 cirq_display ( front ) ;
 }
 /* adds a new element at the end of queue */
 void addcirq ( struct node **f, struct node **r, int item )
 {
 struct node *q ;
 /* create new node */
 q = malloc ( sizeof ( struct node ) ) ;
 q -> data = item ;
 /* if the queue is empty */
 if ( *f == NULL )
 *f = q ;
 else
 ( *r ) -> link = q ;
 *r = q ;
 ( *r ) -> link = *f ;
 }
 /* removes an element from front of queue */
 int delcirq ( struct node **f, struct node **r )
 {
 struct node *q ;
 int item ;
 /* if queue is empty */
 if ( *f == NULL )
 printf ( \"queue is empty\" ) ;
 else
 {
 if ( *f == *r )
 {
 item = ( *f ) -> data ;
 free ( *f ) ;
 *f = NULL ;
 *r = NULL ;
 }
 else
 {
 /* delete the node */
 q = *f ;
 item = q -> data ;
 *f = ( *f ) -> link ;
 ( *r ) -> link = *f ;
 free ( q ) ;
 }
 return ( item ) ;
 }
 return NULL ;
 }
 /* displays whole of the queue */
 void cirq_display ( struct node *f )
 {
 struct node *q = f, *p = NULL ;
 /* traverse the entire linked list */
 while ( q != p )
 {
 printf ( \"%d\\t\", q -> data ) ;
 q = q -> link ;
 p = f ;
 }
 }
 Send me the new code pls.
 Program to implement a circular link list.
 #include <stdio.h>
 #include <conio.h>
 #include <alloc.h>
 /* structure containing a data part and link part */
 struct node
 {
 int data ;
 struct node * link ;
 } ;
 void addcirq ( struct node **, struct node **, int ) ;
 int delcirq ( struct node **, struct node ** ) ;
 void cirq_display ( struct node * ) ;
 void main( )
 {
 struct node *front, *rear ;
 front = rear = NULL ;
 addcirq ( &front, &rear, 10 ) ;
 addcirq ( &front, &rear, 17 ) ;
 addcirq ( &front, &rear, 18 ) ;
 addcirq ( &front, &rear, 5 ) ;
 addcirq ( &front, &rear, 30 ) ;
 addcirq ( &front, &rear, 15 ) ;
 clrscr( ) ;
 printf ( \"Before deletion:\ \" ) ;
 cirq_display ( front ) ;
 delcirq ( &front, &rear ) ;
 delcirq ( &front, &rear ) ;
 delcirq ( &front, &rear ) ;
 printf ( \"\ \ After deletion:\ \" ) ;
 cirq_display ( front ) ;
 }
 /* adds a new element at the end of queue */
 void addcirq ( struct node **f, struct node **r, int item )
 {
 struct node *q ;
 /* create new node */
 q = malloc ( sizeof ( struct node ) ) ;
 q -> data = item ;
 /* if the queue is empty */
 if ( *f == NULL )
 *f = q ;
 else
 ( *r ) -> link = q ;
 *r = q ;
 ( *r ) -> link = *f ;
 }
 /* removes an element from front of queue */
 int delcirq ( struct node **f, struct node **r )
 {
 struct node *q ;
 int item ;
 /* if queue is empty */
 if ( *f == NULL )
 printf ( \"queue is empty\" ) ;
 else
 {
 if ( *f == *r )
 {
 item = ( *f ) -> data ;
 free ( *f ) ;
 *f = NULL ;
 *r = NULL ;
 }
 else
 {
 /* delete the node */
 q = *f ;
 item = q -> data ;
 *f = ( *f ) -> link ;
 ( *r ) -> link = *f ;
 free ( q ) ;
 }
 return ( item ) ;
 }
 return NULL ;
 }
 /* displays whole of the queue */
 void cirq_display ( struct node *f )
 {
 struct node *q = f, *p = NULL ;
 /* traverse the entire linked list */
 while ( q != p )
 {
 printf ( \"%d\\t\", q -> data ) ;
 q = q -> link ;
 p = f ;
 }
 }
 Send me the new code pls.
 Page 1 of 6 Circular Linked List Assignment Overview A circular linked list is essentially a singly linked list in which the next pointer of the tail node is set to point to the head node of the linked list rather than set to nul. The first figure below shows a linked list as a singly linked list. The second figure below shows the singly linked list from the first figure as a circular linked list. In this assignment, you will write code for an implementation of a circular linked list 12 Head Tail Singly Linked List 12 Tail Circular Linked List Solution
I spotted a discrepancy in your insert method. Posting the same, but with correct insert method.
---------------------------------------------------
/* adds a new element at the end of queue */
void addcirq ( struct node **f, struct node **r, int item )
{
struct node *q ;
/* create new node */
q = malloc ( sizeof ( struct node ) ) ;
q -> data = item ;
/* if the queue is empty */
if ( *f == NULL )
*f = q ;
else
( *q ) -> link = *f ; //Changed -- See correction
*f = q ; //Changed -- See correction
( *r ) -> link = *f ;
}