📖 Scenario: Imagine you are managing a line of customers waiting to buy tickets. You want to see who is at the front of the line without removing them.
🎯 Goal: Build a simple program that creates a queue of customers, then shows the name of the customer at the front of the queue without removing them.
📋 What You'll Learn
Create a Queue<string> called customers with exact names
Add a variable frontCustomer to hold the peeked value
Use the Peek() method to get the front element
Print the frontCustomer value
💡 Why This Matters
🌍 Real World
Queues are used in real life to manage lines, like customers waiting for service or tasks waiting to be processed.
💼 Career
Understanding queues and how to peek at the front element is important for programming tasks like scheduling, buffering, and managing resources efficiently.
Progress0 / 4 steps
1
Create the Queue of Customers
Create a Queue<string> called customers and add these exact names in order: "Alice", "Bob", "Charlie".
DSA C#
Hint
Use new Queue<string>() to create the queue. Use Enqueue() to add each name.
2
Add a Variable to Hold the Front Customer
Add a variable called frontCustomer of type string to hold the front element of the customers queue.
DSA C#
Hint
Declare frontCustomer as a string variable without assigning a value yet.
3
Use Peek() to Get the Front Element
Assign the front element of the customers queue to the variable frontCustomer using the Peek() method.
DSA C#
Hint
Use customers.Peek() to get the front element without removing it.
4
Print the Front Customer
Print the value of frontCustomer to the console using Console.WriteLine().
DSA C#
Hint
Use Console.WriteLine(frontCustomer); to display the front customer's name.
Practice
(1/5)
1. What does the Peek() method do in a queue?
easy
A. Checks if the queue is empty
B. Returns the front element without removing it
C. Adds an element to the back of the queue
D. Removes and returns the front element
Solution
Step 1: Understand the purpose of Peek()
The Peek() method is designed to look at the front element of the queue without changing the queue itself.
Step 2: Differentiate from other queue methods
Unlike Dequeue() which removes the front element, Peek() only returns it without removal.
Final Answer:
Returns the front element without removing it -> Option B
Quick Check:
Peek() returns front element without removal [OK]
Hint: Peek shows front without removing it [OK]
Common Mistakes:
Confusing Peek() with Dequeue()
Thinking Peek() removes the element
Assuming Peek() adds elements
2. Which of the following is the correct syntax to peek the front element of a queue named myQueue in C#?
easy
A. myQueue.Front();
B. myQueue.GetFront();
C. myQueue.Peek();
D. myQueue.Top();
Solution
Step 1: Recall the Queue method for peeking
In C#, the method to look at the front element without removing it is Peek().
Step 2: Verify method names
Methods like Front(), GetFront(), or Top() do not exist in the standard Queue class.
Final Answer:
myQueue.Peek(); -> Option C
Quick Check:
Correct syntax is myQueue.Peek() [OK]
Hint: Use Peek() method to access front element [OK]
Common Mistakes:
Using non-existent methods like Front()
Confusing Peek() with Top() from stacks
Missing parentheses after Peek
3. What will be the output of the following C# code?
Queue<int> q = new Queue<int>();
q.Enqueue(10);
q.Enqueue(20);
q.Enqueue(30);
Console.WriteLine(q.Peek());
medium
A. 10
B. 20
C. 30
D. Throws an exception
Solution
Step 1: Understand queue order after enqueues
Elements are added in order: 10 (front), then 20, then 30 (back).
Step 2: Peek returns front element
Calling Peek() returns the front element without removing it, which is 10.
Final Answer:
10 -> Option A
Quick Check:
Peek returns first enqueued element 10 [OK]
Hint: Peek returns first enqueued element [OK]
Common Mistakes:
Thinking Peek returns last element
Confusing Peek with Dequeue
Assuming exception on non-empty queue
4. Identify the error in this code snippet that tries to peek the front element of a queue:
Queue<string> q = new Queue<string>();
string front = q.Peek;
Console.WriteLine(front);
medium
A. Peek method does not exist for Queue
B. Queue is empty, so Peek throws exception
C. Queue should be initialized with elements first
D. Missing parentheses after Peek method
Solution
Step 1: Check method call syntax
The code uses q.Peek without parentheses, but Peek is a method and requires ().
Step 2: Confirm other possible errors
Though the queue is empty, the question focuses on syntax. The missing parentheses cause a compile-time error.
Final Answer:
Missing parentheses after Peek method -> Option D
Quick Check:
Peek() needs parentheses to call method [OK]
Hint: Always add () when calling methods [OK]
Common Mistakes:
Forgetting parentheses on method calls
Ignoring empty queue exceptions
Assuming Peek is a property
5. Given a queue q with elements [5, 10, 15], which code snippet correctly peeks the front element and then adds 20 to the queue without removing any elements?
hard
A. int front = q.Peek(); q.Enqueue(20);
B. int front = q.Dequeue(); q.Enqueue(20);
C. int front = q.Peek; q.Enqueue(20);
D. int front = q.Pop(); q.Enqueue(20);
Solution
Step 1: Identify correct method to peek front element
Use Peek() to get front element without removing it.
Step 2: Add element without removing any
Enqueue(20) adds 20 to the back without removing elements.
Step 3: Check other options for errors
Dequeue() removes front element, Peek without parentheses is invalid, and Pop() does not exist for Queue.
Final Answer:
int front = q.Peek(); q.Enqueue(20); -> Option A
Quick Check:
Peek() + Enqueue() keeps queue intact [OK]
Hint: Peek() to view front, Enqueue() to add [OK]
Common Mistakes:
Using Dequeue() instead of Peek() when not removing
Missing parentheses on Peek
Using Pop() which is for stacks
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.