Week 8 programs based on queue

Source Code

#include <stdio.h>

#define MAX_SIZE 25
int q[MAX_SIZE], f = -1, r = 0;
void push();
void rem();
void seek();
int main() {
    int c;
    printf("\nProgram implementing queue\n");
    start:
      printf("\nEnter 1 to push\nEnter 2 to remove\nEnter 3 to seek\nEnter 0 to exit\n\nEnter your
        choice: ");
        scanf("%d", & c);
        switch (c) {
        case 1:
          push();
          break;
        case 2:
          rem();
          break;
        case 3:
          seek();
          break;
        case 0:
          printf("\nThank you\n");
          goto end;
        default:
          printf("\nInvalid choice\n");
          break;
        }
        goto start; end:
        return 0;
      }
    void push() {
      if (r == f)
        printf("\nQueue at max capacity: %d\n", MAX_SIZE);
      else {
        Lab 8: Programs on Queue
        int ele;
        printf("\nEnter number to be pushed to stack: ");
        scanf("%d", & ele);
        q[r] = ele;
        r = (r + 1) % MAX_SIZE;
      }
    }
    void rem() {
      int x = (f + 1) % MAX_SIZE;
      if (x == r)
        printf("\nQueue empty\n");
      else {
        int ele = q[x];
        f = x;
        printf("\nElement removed: %d\n", ele);
      }
    }
    void seek() {
      int x = (f + 1) % MAX_SIZE;
      if (x == r)
        printf("\nQueue empty\n");
      else {
        int ele = q[x];
        printf("\nElement at front: %d\n", ele);
      }
    

Output

Program implementing queue
Enter 1 to push
Enter 2 to remove
Enter 3 to seek
Enter 0 to exit
Enter your choice: 1
Enter number to be pushed to stack: 1
Enter 1 to push
Enter 2 to remove
Enter 3 to seek
Enter 0 to exit
Enter your choice: 1
Enter number to be pushed to stack: 2
Enter 1 to push
Enter 2 to remove
Enter 3 to seek
Enter 0 to exit
Enter your choice: 1
Enter number to be pushed to stack: 3
Queue empty
Enter 1 to push
Enter 2 to remove
Enter 3 to seek
Enter 0 to exit
Enter your choice: 0
Thank you