#include <stdio.h> int main() { int arr[50], f = -1, r = -1, n, a, b; do { printf("Press 1 for Enqueue\n2 for Peek\n3 for Dequeue\n4 for exit\n"); scanf("%d", &a); switch (a) { case 1: printf("Give the size of the array (limit is 50):\n"); scanf("%d", &n); for (int i = 0; i < n; i++) { if (i == 0) { r = r + 1; f = f + 1; printf("Enqueueing the %dth value of array:\n", i); scanf("%d", &arr[i]); printf("Do you want to continue?\nPress 1 for yes\n2 for No\n"); scanf("%d", &b); if (b == 2) { printf("Ending Enqueue function...\n"); break; } } else { printf("Enqueueing the %dth value of array:\n", i); scanf("%d", &arr[i]); printf("Do you want to continue?\nPress 1 for yes\n2 for No\n"); scanf("%d", &b); if (b == 2) { printf("Ending Enqueue function...\n"); break; } r = r + 1; } } printf("Overflow!\n"); break; case 2: if (f == -1) { printf("Queue is empty!\n"); } else { printf("Peeking value at index %d of the array: %d\n", r, arr[r]); } break; case 3: if (f == -1) { printf("Queue is empty!\n"); } else { for (int i = f; i <= r; i++) { printf("Dequeuing the %dth value: %d\n", i, arr[i]); printf("Do you want to continue?\nPress 1 for yes\n2 for No\n"); scanf("%d", &b); if (b == 2) { printf("Ending Dequeue function...\n"); break; } } } break; case 4: printf("Exiting...\n"); break; default: printf("Wrong input!\n"); break; } } while (a != 4); return 0; } class Queue { private static int front, rear, capacity; private static int queue[]; Queue(int size) { front = rear = 0; capacity = size; queue = new int[capacity]; } // insert an element into the queue static void queueEnqueue(int item) { // check if the queue is full if (capacity == rear) { System.out.printf("\nQueue is full\n"); return; } // insert element at the rear else { queue[rear] = item; rear++; } return; } //remove an element from the queue static void queueDequeue() { // check if queue is empty if (front == rear) { System.out.printf("\nQueue is empty\n"); return; } // shift elements to the right by one place uptil rear else { for (int i = 0; i < rear - 1; i++) { queue[i] = queue[i + 1]; } // set queue[rear] to 0 if (rear < capacity) queue[rear] = 0; // decrement rear rear--; } return; } // print queue elements static void queueDisplay() { int i; if (front == rear) { System.out.printf("Queue is Empty\n"); return; } // traverse front to rear and print elements for (i = front; i < rear; i++) { System.out.printf(" %d = ", queue[i]); } return; } // print front of queue static void queueFront() { if (front == rear) { System.out.printf("Queue is Empty\n"); return; } System.out.printf("\nFront Element of the queue: %d", queue[front]); return; } } public class Main { public static void main(String[] args) { // Create a queue of capacity 4 Queue q = new Queue(4); System.out.println("Initial Queue:"); // print Queue elements q.queueDisplay(); // inserting elements in the queue q.queueEnqueue(10); q.queueEnqueue(30); q.queueEnqueue(50); q.queueEnqueue(70); // print Queue elements System.out.println("Queue after Enqueue Operation:"); q.queueDisplay(); // print front of the queue q.queueFront(); // insert element in the queue q.queueEnqueue(90); // print Queue elements q.queueDisplay(); q.queueDequeue(); q.queueDequeue(); System.out.printf("\nQueue after two dequeue operations:"); // print Queue elements q.queueDisplay(); // print front of the queue q.queueFront(); } }// Java program to implement a queue using an array class Queue { private int front, rear, capacity; private int queue[]; Queue(int c) { front = rear = 0; capacity = c; queue = new int[capacity]; } // function to insert an element // at the rear of the queue static void queueEnqueue(int data) { // check queue is full or not if (capacity == rear) { System.out.printf("\nQueue is full\n"); return; } // insert element at the rear else { queue[rear] = data; rear++; } return; } // function to delete an element // from the front of the queue static void queueDequeue() { // if queue is empty if (front == rear) { System.out.printf("\nQueue is empty\n"); return; } // shift all the elements from index 2 till rear // to the right by one else { for (int i = 0; i < rear - 1; i++) { queue[i] = queue[i + 1]; } // store 0 at rear indicating there's no element if (rear < capacity) queue[rear] = 0; // decrement rear rear--; } return; } // print queue elements static void queueDisplay() { int i; if (front == rear) { System.out.printf("\nQueue is Empty\n"); return; } // traverse front to rear and print elements for (i = front; i < rear; i++) { System.out.printf(" %d <-- ", queue[i]); } return; } // print front of queue static void queueFront() { if (front == rear) { System.out.printf("\nQueue is Empty\n"); return; } System.out.printf("\nFront Element is: %d", queue[front]); return; } } public class StaticQueueinjava { // Driver code public static void main(String[] args) { // Create a queue of capacity 4 Queue q = new Queue(4); // print Queue elements q.queueDisplay(); // inserting elements in the queue q.queueEnqueue(20); q.queueEnqueue(30); q.queueEnqueue(40); q.queueEnqueue(50); // print Queue elements q.queueDisplay(); // insert element in the queue q.queueEnqueue(60); // print Queue elements q.queueDisplay(); q.queueDequeue(); q.queueDequeue(); System.out.printf("\n\nafter two node deletion\n\n"); // print Queue elements q.queueDisplay(); // print front of the queue q.queueFront(); } }