Advertisement
Bewin

queue

Nov 18th, 2024 (edited)
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define size 50
  4.  
  5. int front = -1, rear = -1;
  6. int queue[size];
  7.  
  8. void enqueue(){
  9.     int item;
  10.     if(rear == size - 1){
  11.         printf("\nOverflow");
  12.     }
  13.     else {
  14.         printf("Enter element to be inserted: ");
  15.         scanf("%d", &item);
  16.         if(front == -1 && rear == -1){
  17.             front = 0;
  18.         }
  19.         queue[++rear] = item;
  20.     }
  21. }
  22.  
  23. void dequeue(){
  24.     int item = queue[front];
  25.  
  26.     if(front == -1){
  27.         printf("\nUnderflow");
  28.     }
  29.     else {
  30.         printf("\n%d removed from queue\n", item);
  31.         if(front == rear) {
  32.             rear = -1;
  33.             front = -1;
  34.         }
  35.         else {
  36.             front++;
  37.         }
  38.     }
  39. }
  40.  
  41. void display() {
  42.     if (front == -1 && rear == -1) {
  43.         printf("\nQueue Underflow\n");
  44.     } else {
  45.         int i;
  46.         printf("\n{");
  47.         for (i = front; i <= rear; i++) {
  48.             printf("%d, ", queue[i]);
  49.         }
  50.         printf("}\n");
  51.     }
  52. }
  53.  
  54. int main() {
  55.     int arg;
  56.     while (1) {
  57.         printf("\n******************");
  58.         printf("\nEnter your choice:\n1. Enqueue\n2. Dequeue\n3. Display\n0. Exit");
  59.         printf("\n******************\n");
  60.         scanf("%d", &arg);
  61.         switch (arg) {
  62.             case 1: {
  63.                 enqueue();
  64.                 break;
  65.             }
  66.             case 2: {
  67.                 dequeue();
  68.                 break;
  69.             }
  70.             case 3: {
  71.                 display();
  72.                 break;
  73.             }
  74.             case 0: {
  75.                 exit(0);
  76.             }
  77.             default: {
  78.                 printf("\nInvalid Argument\n");
  79.                 break;
  80.             }
  81.         }
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement