Program to implement a circular queue as a linked list
#include #include #include /* 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:\n" ) ; cirq_display ( front ) ; delcirq ( &front, &rear ) ; delcirq ( &front, &rear ) ; delcirq ( &front, &rear ) ; printf ( "\n\nAfter deletion:\n" ) ; 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 nod...