Advertisement
Mubtasim_Arnab

QueueImplementation

Feb 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.72 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <limits.h>
  3. #define SIZE 20
  4.  
  5. int queue[SIZE];
  6. int front = -1;
  7. int rear = -1;
  8.  
  9. void enqueue(int item) {
  10.     if(rear == SIZE-1) {
  11.         printf("Error: Queue Overflow\n");
  12.         return;
  13.     }
  14.  
  15.     if(front == -1 && rear == -1) {
  16.         front = 0;
  17.         rear = 0;
  18.     } else {
  19.         rear += 1;
  20.     }
  21.  
  22.     queue[rear] = item;
  23.     printf("%d is inserted\n", queue[rear]);
  24. }
  25.  
  26. int dequeue() {
  27.     int item;
  28.     if(front == -1) {
  29.         printf("Error: Queue Underflow\n");
  30.         return INT_MIN;
  31.     }
  32.     item = queue[front];
  33.     front += 1;
  34.     if(front > rear) {
  35.         front = -1;
  36.         rear = -1;
  37.     }
  38.     return item;
  39. }
  40.  
  41. void printQueue() {
  42.     int i;
  43.     if(front == -1 && rear == -1) {
  44.         printf("Queue is empty\n");
  45.         return;
  46.     }
  47.     printf("Queue is:\n");
  48.     for(i = front; i <= rear; i++) {
  49.         printf("queue[%d] = %d\n", i, queue[i]);
  50.     }
  51. }
  52.  
  53. int main() {
  54.  
  55.     int item, choice;
  56.  
  57.     do {
  58.         printf("Please select any option:\n");
  59.         printf("1. Enqueue\n");
  60.         printf("2. Dequeue\n");
  61.         printf("3. Display\n");
  62.         printf("4. Exit\n");
  63.         scanf("%d", &choice);
  64.         switch(choice) {
  65.             case 1:
  66.                 printf("Enter the element to be inserted:\n");
  67.                 scanf("%d", &item);
  68.                 enqueue(item);
  69.                 break;
  70.             case 2:
  71.                 ((item = dequeue()) == INT_MIN) ? printf("Deletion not possible\n")
  72.                                               : printf("%d is deleted\n", item);
  73.                 break;
  74.             case 3:
  75.                 printQueue();
  76.                 break;
  77.  
  78.         }
  79.     }while(choice != 4);
  80.  
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement