Question 1
Insert and Delete Elements in a Queue
Problem
Write a program to implement insertion (enqueue) and deletion (dequeue) operations in a Queue.
Example:
Operations: enqueue(10), enqueue(20), enqueue(30), dequeue()
Output after dequeue: Front element removed is 10, Queue now: [20, 30]
Code
Java
import java.util.LinkedList;
import java.util.Queue;
public class QueueOperations {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
// Insert (enqueue) elements
queue.add(10);
queue.add(20);
queue.add(30);
System.out.println("Queue after insertions: " + queue);
// Delete (dequeue) an element
int removed = queue.poll();
System.out.println("Removed element: " + removed);
System.out.println("Queue after deletion: " + queue);
}
}Python
from collections import deque
queue = deque()
# Insert (enqueue) elements
queue.append(10)
queue.append(20)
queue.append(30)
print("Queue after insertions:", list(queue))
# Delete (dequeue) an element
removed = queue.popleft()
print("Removed element:", removed)
print("Queue after deletion:", list(queue))C, using array-based queue
#include <stdio.h>
#define MAX 100
int queue[MAX], front = -1, rear = -1;
void enqueue(int val) {
if (rear == MAX - 1) {
printf("Queue Overflow\n");
return;
}
if (front == -1) front = 0;
queue[++rear] = val;
}
int dequeue() {
if (front == -1 || front > rear) {
printf("Queue Underflow\n");
return -1;
}
return queue[front++];
}
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
printf("Removed element: %d\n", dequeue());
return 0;
}Time: O(1) for both enqueue and dequeueSpace: O(N)