Program that implements queue as a linked list.
#include #include struct node {  int data ;  struct node *link ; } ; struct queue {  struct node *front ;  struct node *rear ; } ; void initqueue ( struct queue * ) ; void addq ( struct queue *, int ) ; int delq ( struct queue * ) ; void delqueue ( struct queue * ) ; void main( ) {  struct queue a ;  int i ;  clrscr( ) ;  initqueue ( &a ) ;  addq ( &a, 11 ) ;  addq ( &a, -8 ) ;  addq ( &a, 23 ) ;  addq ( &a, 19 ) ;  addq ( &a, 15 ) ;  addq ( &a, 16 ) ;  addq ( &a, 28 ) ;  i = delq ( &a ) ;  printf ( "\nItem extracted: %d", i ) ;  i = delq ( &a ) ;  printf ( "\nItem extracted: %d", i ) ;  i = delq ( &a ) ;  printf ( "\nItem extracted: %d", i ) ;  delqueue ( &a ) ;  getch( ) ; } /* initialises data member */ void initqueue ( struct queue *q ) {  q -> front = q -> rear = NULL ; } /* adds an element to the queue */ void addq ( struct queue *q, int item ) {  struct node *temp ;  temp = ( struct node * ) mall...