Theoretical Paper
- Computer Organization
 - Data Structure
 - Digital Electronics
 - Object Oriented Programming
 - Discrete Mathematics
 - Graph Theory
 - Operating Systems
 - Software Engineering
 - Computer Graphics
 - Database Management System
 - Operation Research
 - Computer Networking
 - Image Processing
 - Internet Technologies
 - Micro Processor
 - E-Commerce & ERP
 
Practical Paper
Industrial Training
Program that implements queue as a linked list
/* Program that implements queue as a linked list. */
#include <stdio.h>
                      #include <conio.h>
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 * ) malloc ( sizeof ( struct node ) ) ;
                      if ( temp == NULL )
                      printf ( "\nQueue is full." ) ;
 temp -> data = item ;
                      temp -> link = NULL ;
 if ( q -> front == NULL )
                      {
                      q -> rear = q -> front = temp ;
                      return ;
                      }
 q -> rear -> link = temp ;
                      q -> rear = q -> rear -> link ;
                      }
/* removes an element from the queue */
                      int delq ( struct queue * q )
                      {
                      struct node *temp ;
                      int item ;
 if ( q -> front == NULL )
                      {
                      printf ( "\nQueue is empty." ) ;
                      return NULL ;
                      }
 item = q -> front  -> data ;
                      temp = q -> front ;
                      q -> front = q -> front -> link ;
                      free ( temp ) ;
                      return item ;
                      }
/* deallocates memory */
                      void delqueue ( struct queue *q )
                      {
                      struct node *temp ;
 if ( q -> front == NULL )
                      return ;
 while ( q -> front != NULL )
                      {
                      temp = q -> front ;
                      q -> front = q -> front -> link ;
                      free ( temp ) ;
                      }
                      }
