📖 Scenario: Imagine a line of customers waiting at a ticket counter. We want to see who is at the front of the line without removing them.
🎯 Goal: You will create a queue of customer IDs, then write code to peek at the front customer without removing them.
📋 What You'll Learn
Create an integer array called queue with exactly these values: 101, 102, 103, 104, 105
Create an integer variable called front_index and set it to 0
Write code to peek the front element of the queue using queue[front_index]
Print the front element using printf with the exact format: "Front element: %d\n"
💡 Why This Matters
🌍 Real World
Queues are used in real life to manage lines, like customers waiting or tasks waiting to be processed.
💼 Career
Understanding queues and how to peek at elements is important for software development, especially in areas like task scheduling and resource management.
Progress0 / 4 steps
1
Create the queue array
Create an integer array called queue with these exact values: 101, 102, 103, 104, 105
DSA C
Hint
Use curly braces to list the values inside the array.
2
Set the front index
Create an integer variable called front_index and set it to 0
DSA C
Hint
The front of the queue is at index 0 initially.
3
Peek the front element
Create an integer variable called front_element and set it to queue[front_index]
DSA C
Hint
Use the front_index to get the front element from the queue array.
4
Print the front element
Print the front element using printf with the exact format: "Front element: %d\n" and the variable front_element
DSA C
Hint
Use printf to show the front element with the exact text and newline.
Practice
(1/5)
1. What does the peek operation do in a queue?
easy
A. Returns the front element without removing it
B. Removes the front element
C. Adds an element to the back
D. Checks if the queue is empty
Solution
Step 1: Understand the peek operation
The peek operation looks at the front element of the queue without changing the queue.
Step 2: Compare with other operations
Removing is done by dequeue, adding by enqueue, and checking empty is a separate check.
Final Answer:
Returns the front element without removing it -> Option A
Quick Check:
Peek = front element without removal [OK]
Hint: Peek shows front without removing [OK]
Common Mistakes:
Confusing peek with dequeue
Thinking peek adds elements
Assuming peek checks emptiness
2. Which of the following is the correct C syntax to peek the front element of a queue named q implemented with an array and front index front?
easy
A. int x = q[front];
B. int x = q[rear];
C. int x = q[front + 1];
D. int x = q[0];
Solution
Step 1: Identify front element in array queue
The front element is at index front in the array q.
Step 2: Check other options
rear points to the back, front + 1 is next element, q[0] may not be front if front moved.
Final Answer:
int x = q[front]; -> Option A
Quick Check:
Peek front = q[front] [OK]
Hint: Peek uses front index, not rear or zero [OK]
Common Mistakes:
Using rear index instead of front
Adding 1 to front index incorrectly
Assuming front is always zero
3. What will be the output of the following C code snippet?
int q[5] = {10, 20, 30, 40, 50};
int front = 2;
printf("%d", q[front]);
medium
A. 10
B. 20
C. 30
D. 40
Solution
Step 1: Identify the element at index front
Index 2 in array q is the third element, which is 30.
Step 2: Confirm output of printf
Printing q[front] prints 30.
Final Answer:
30 -> Option C
Quick Check:
q[2] = 30 [OK]
Hint: Array index starts at 0, so q[2] is third element [OK]
Common Mistakes:
Confusing index 2 with value 20
Printing q[front + 1] by mistake
Assuming front is zero
4. Identify the error in this C code snippet that tries to peek the front element of a queue:
int q[3] = {5, 10, 15};
int front = 3;
printf("%d", q[front]);
medium
A. Queue array is empty
B. front index is out of bounds
C. printf syntax error
D. No error, code is correct
Solution
Step 1: Check front index validity
Array q has indices 0 to 2. front = 3 is outside bounds.
Step 2: Understand consequences
Accessing q[3] causes undefined behavior or runtime error.
Final Answer:
front index is out of bounds -> Option B
Quick Check:
front must be within 0 to 2 [OK]
Hint: Front index must be inside array bounds [OK]
Common Mistakes:
Ignoring array bounds
Assuming front can be equal to array size
Thinking printf syntax is wrong
5. Given a circular queue implemented with array q[5], front index front = 4, and rear index rear = 2, which expression correctly peeks the front element?
hard
A. q[front]
B. q[rear]
C. q[(rear + 1) % 5]
D. q[(front + 1) % 5]
Solution
Step 1: Understand circular queue front
In a circular queue, the front element is at index (front + 1) % size, because front points to the last dequeued position.
Step 2: Check modulo usage
Modulo is used to wrap around the array indices correctly.
Final Answer:
q[(front + 1) % 5] -> Option D
Quick Check:
Peek front = q[(front + 1) % size] in circular queue [OK]
Hint: In circular queue, front points behind the front element [OK]
Common Mistakes:
Using q[front] directly in circular queue
Confusing rear with front
Assuming front is always zero
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.