Data Structures(Circular Queues)

 

  1. #include <stdio.h>  
  2.   
  3. # define max 6  
  4. int queue[max];  // array declaration  
  5. int front=-1;  
  6. int rear=-1;  
  7. // function to insert an element in a circular queue  
  8. void enqueue(int element)  
  9. {  
  10.     if(front==-1 && rear==-1)   // condition to check queue is empty  
  11.     {  
  12.         front=0;  
  13.         rear=0;  
  14.         queue[rear]=element;  
  15.     }  
  16.     else if((rear+1)%max==front)  // condition to check queue is full  
  17.     {  
  18.         printf("Queue is overflow..");  
  19.     }  
  20.     else  
  21.     {  
  22.         rear=(rear+1)%max;       // rear is incremented  
  23.         queue[rear]=element;     // assigning a value to the queue at the rear position.  
  24.     }  
  25. }  
  26.   
  27. // function to delete the element from the queue  
  28. int dequeue()  
  29. {  
  30.     if((front==-1) && (rear==-1))  // condition to check queue is empty  
  31.     {  
  32.         printf("\nQueue is underflow..");  
  33.     }  
  34.  else if(front==rear)  
  35. {  
  36.    printf("\nThe dequeued element is %d", queue[front]);  
  37.    front=-1;  
  38.    rear=-1;  
  39. }   
  40. else  
  41. {  
  42.     printf("\nThe dequeued element is %d", queue[front]);  
  43.    front=(front+1)%max;  
  44. }  
  45. }  
  46. // function to display the elements of a queue  
  47. void display()  
  48. {  
  49.     int i=front;  
  50.     if(front==-1 && rear==-1)  
  51.     {  
  52.         printf("\n Queue is empty..");  
  53.     }  
  54.     else  
  55.     {  
  56.         printf("\nElements in a Queue are :");  
  57.         while(i<=rear)  
  58.         {  
  59.             printf("%d,", queue[i]);  
  60.             i=(i+1)%max;  
  61.         }  
  62.     }  
  63. }  
  64. int main()  
  65. {  
  66.     int choice=1,x;   // variables declaration  
  67.       
  68.     while(choice<4 && choice!=0)   // while loop  
  69.     {  
  70.     printf("\n Press 1: Insert an element");  
  71.     printf("\nPress 2: Delete an element");  
  72.     printf("\nPress 3: Display the element");  
  73.     printf("\nEnter your choice");  
  74.     scanf("%d", &choice);  
  75.       
  76.     switch(choice)  
  77.     {  
  78.           
  79.         case 1:  
  80.       
  81.         printf("Enter the element which is to be inserted");  
  82.         scanf("%d", &x);  
  83.         enqueue(x);  
  84.         break;  
  85.         case 2:  
  86.         dequeue();  
  87.         break;  
  88.         case 3:  
  89.         display();  
  90.   
  91.     }}  
  92.     return 0;  
  93. }  

Comments

Popular posts from this blog

String Functions in C Language(C Language)

PHP Array Functions

Home Menu Options in Ms Word