Bird
Raised Fist0
DSA C++programming~15 mins

Peek Top Element of Stack in DSA C++ - Build from Scratch

Choose your learning style10 modes available
Peek Top Element of Stack
📖 Scenario: You are building a simple program to manage a stack of books. You want to see which book is currently on top without removing it.
🎯 Goal: Create a stack of books, then peek at the top book to see its title.
📋 What You'll Learn
Create a stack of strings named bookStack with these books in order: "Math", "Science", "History"
Create an integer variable stackSize to store the number of books in the stack
Use the top() method to get the title of the top book and store it in a string variable topBook
Print the value of topBook
💡 Why This Matters
🌍 Real World
Stacks are used in many real-world applications like undo features in text editors, browser history, and managing function calls.
💼 Career
Understanding stack operations like peek is essential for software development roles that involve data structure manipulation and algorithm design.
Progress0 / 4 steps
1
Create the stack with books
Create a stack of strings called bookStack and push these books in order: "Math", "Science", "History"
DSA C++
Hint

Use std::stack<std::string> bookStack; to create the stack. Use bookStack.push("BookName") to add books.

2
Get the size of the stack
Create an integer variable called stackSize and set it to the size of bookStack using the size() method
DSA C++
Hint

Use int stackSize = bookStack.size(); to get the number of books.

3
Peek the top book
Create a string variable called topBook and assign it the top element of bookStack using the top() method
DSA C++
Hint

Use std::string topBook = bookStack.top(); to peek the top book.

4
Print the top book
Print the value of topBook using std::cout
DSA C++
Hint

Use std::cout << topBook << std::endl; to print the top book.

Practice

(1/5)
1. What does the peek() operation do in a stack?
easy
A. Returns the top element without removing it
B. Removes the top element from the stack
C. Adds a new element to the top of the stack
D. Checks if the stack is empty

Solution

  1. Step 1: Understand stack operations

    A stack is a collection where elements are added or removed from the top only.
  2. Step 2: Define peek operation

    The peek operation returns the top element without removing it, unlike pop which removes it.
  3. Final Answer:

    Returns the top element without removing it -> Option A
  4. Quick Check:

    peek() = top element [OK]
Hint: Peek shows top without removal [OK]
Common Mistakes:
  • Confusing peek with pop
  • Thinking peek adds elements
  • Assuming peek checks emptiness
2. Which of the following is the correct syntax to peek the top element of a stack named stk in C++ STL?
easy
A. stk.pop();
B. stk.peek();
C. stk.top();
D. stk.getTop();

Solution

  1. Step 1: Recall C++ STL stack methods

    The standard method to access the top element is top().
  2. Step 2: Identify correct syntax

    stk.top(); returns the top element without removing it.
  3. Final Answer:

    stk.top(); -> Option C
  4. Quick Check:

    stk.top() = peek top element [OK]
Hint: Use .top() to peek in C++ STL stack [OK]
Common Mistakes:
  • Using .peek() which is not in C++ STL
  • Using .pop() which removes element
  • Using non-existent .getTop() method
3. What will be the output of the following C++ code?
std::stack<int> stk;
stk.push(10);
stk.push(20);
stk.push(30);
std::cout << stk.top() << std::endl;
medium
A. 30
B. 10
C. 20
D. Compilation error

Solution

  1. Step 1: Trace push operations

    Elements pushed in order: 10, then 20, then 30. Stack top is last pushed element 30.
  2. Step 2: Check top() output

    stk.top() returns 30 without removing it.
  3. Final Answer:

    30 -> Option A
  4. Quick Check:

    Last pushed = top = 30 [OK]
Hint: Top is last pushed element [OK]
Common Mistakes:
  • Confusing top with bottom element
  • Assuming top removes element
  • Thinking output is 20 or 10
4. Identify the error in the following code snippet that tries to peek the top element of a stack named stk:
int topElement = stk.peek();
medium
A. stk should be declared as a queue
B. peek() is not a valid method in C++ STL stack
C. topElement should be a pointer
D. stk.pop() should be used instead

Solution

  1. Step 1: Check method availability in C++ STL stack

    C++ STL stack does not have a method named peek().
  2. Step 2: Correct method to peek top element

    The correct method is top(), so stk.top() should be used.
  3. Final Answer:

    peek() is not a valid method in C++ STL stack -> Option B
  4. Quick Check:

    Use stk.top() not stk.peek() [OK]
Hint: Use .top(), not .peek() in C++ STL [OK]
Common Mistakes:
  • Using peek() method which doesn't exist
  • Confusing pop() with peek()
  • Thinking topElement must be pointer
5. Given a stack stk with elements [5, 10, 15] pushed in that order, which code snippet correctly prints the top element without removing it and then prints the stack size?
hard
A. std::cout << stk.pop() << std::endl; std::cout << stk.size() << std::endl;
B. std::cout << stk.top() << std::endl; stk.pop(); std::cout << stk.size() << std::endl;
C. std::cout << stk.peek() << std::endl; std::cout << stk.size() << std::endl;
D. std::cout << stk.top() << std::endl; std::cout << stk.size() << std::endl;

Solution

  1. Step 1: Understand peek without removal

    To peek, use stk.top() which returns top element without removing it.
  2. Step 2: Check stack size after peek

    Since peek does not remove, stk.size() remains 3.
  3. Final Answer:

    std::cout << stk.top() << std::endl; std::cout << stk.size() << std::endl; -> Option D
  4. Quick Check:

    top() no removal + size() correct [OK]
Hint: Use top() to peek, size() unchanged [OK]
Common Mistakes:
  • Using pop() which removes element
  • Using peek() which is invalid in C++ STL
  • Printing size after pop() expecting no change
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard