Bird
Raised Fist0
C Sharp (C#)programming~5 mins

Queue and Stack behavior in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the main difference between a Queue and a Stack?
A Queue follows First-In-First-Out (FIFO) order, meaning the first item added is the first removed. A Stack follows Last-In-First-Out (LIFO) order, meaning the last item added is the first removed.
Click to reveal answer
beginner
In C#, which method adds an item to a Queue?
The Enqueue() method adds an item to the end of the Queue.
Click to reveal answer
beginner
How do you remove the top item from a Stack in C#?
Use the Pop() method to remove and return the item at the top of the Stack.
Click to reveal answer
intermediate
What happens if you call Dequeue() on an empty Queue in C#?
It throws an InvalidOperationException because there are no items to remove.
Click to reveal answer
intermediate
Explain the behavior of Peek() method in both Queue and Stack.
The Peek() method returns the next item to be removed without removing it. For a Queue, it returns the item at the front. For a Stack, it returns the item at the top.
Click to reveal answer
Which method adds an element to the top of a Stack in C#?
APop()
BEnqueue()
CPush()
DDequeue()
What order does a Queue follow?
AFirst-In-First-Out (FIFO)
BLast-In-First-Out (LIFO)
CRandom order
DSorted order
What does the Pop() method do in a Stack?
ARemoves and returns the top item
BReturns the bottom item without removing
CAdds an item to the bottom
DRemoves the first item added
Which method removes the front item from a Queue?
APop()
BPush()
CPeek()
DDequeue()
What will happen if you call Peek() on an empty Stack?
AReturns null
BThrows InvalidOperationException
CReturns default value
DRemoves an item
Describe how Queue and Stack differ in the order they remove items.
Think about a line of people versus a stack of plates.
You got /4 concepts.
    Explain the purpose of the Enqueue, Dequeue, Push, and Pop methods in C# collections.
    Match methods to adding or removing items in Queue or Stack.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which data structure removes elements in the order they were added, like a line at a grocery store?
      easy
      A. Array
      B. Stack
      C. Dictionary
      D. Queue

      Solution

      1. Step 1: Understand FIFO behavior

        A queue removes elements in the order they were added, called First-In-First-Out (FIFO).
      2. Step 2: Match behavior to real-life example

        A line at a grocery store is FIFO, so the queue matches this behavior.
      3. Final Answer:

        Queue -> Option D
      4. Quick Check:

        FIFO = Queue [OK]
      Hint: FIFO means first in, first out like a queue line [OK]
      Common Mistakes:
      • Confusing stack with queue
      • Thinking stack is FIFO
      • Mixing array behavior with queue
      • Assuming dictionary has order
      2. Which of the following is the correct way to add an item to a Stack in C#?
      easy
      A. stack.Push(item);
      B. stack.Enqueue(item);
      C. stack.Add(item);
      D. stack.Insert(item);

      Solution

      1. Step 1: Recall Stack method names

        In C#, Stack uses Push() to add items on top.
      2. Step 2: Identify correct method

        Enqueue is for Queue, Add and Insert are not Stack methods.
      3. Final Answer:

        stack.Push(item); -> Option A
      4. Quick Check:

        Push adds to Stack [OK]
      Hint: Use Push() to add to Stack, Enqueue() for Queue [OK]
      Common Mistakes:
      • Using Enqueue() on Stack
      • Using Add() or Insert() which don't exist
      • Confusing Stack and Queue methods
      • Syntax errors with method calls
      3. What is the output of this C# code?
      var stack = new Stack<int>();
      stack.Push(1);
      stack.Push(2);
      stack.Push(3);
      Console.WriteLine(stack.Pop());
      Console.WriteLine(stack.Peek());
      medium
      A. 3\n2
      B. 1\n2
      C. 2\n3
      D. 3\n3

      Solution

      1. Step 1: Trace Push operations

        Stack after pushes: bottom=1, middle=2, top=3.
      2. Step 2: Execute Pop and Peek

        Pop() removes and returns top (3). Peek() returns new top (2) without removing.
      3. Final Answer:

        3\n2 -> Option A
      4. Quick Check:

        Pop=3, Peek=2 [OK]
      Hint: Pop removes top, Peek shows top without removing [OK]
      Common Mistakes:
      • Mixing Pop and Peek results
      • Assuming FIFO order
      • Confusing stack order
      • Forgetting Pop removes item
      4. Identify the error in this C# code using Queue:
      var queue = new Queue<string>();
      queue.Push("apple");
      queue.Enqueue("banana");
      Console.WriteLine(queue.Dequeue());
      medium
      A. Dequeue() returns last item added
      B. Queue does not have Push() method
      C. Enqueue() should be Dequeue()
      D. Queue cannot store strings

      Solution

      1. Step 1: Check Queue methods

        Queue uses Enqueue() to add, not Push().
      2. Step 2: Identify incorrect method usage

        Calling Push() on Queue causes a compile error.
      3. Final Answer:

        Queue does not have Push() method -> Option B
      4. Quick Check:

        Queue uses Enqueue, no Push [OK]
      Hint: Queue uses Enqueue(), Stack uses Push() [OK]
      Common Mistakes:
      • Using Push() on Queue
      • Confusing Enqueue and Dequeue
      • Thinking Dequeue returns last item
      • Assuming Queue can't hold strings
      5. You want to reverse the order of words in a sentence using C#. Which data structure is best and why?
      string sentence = "hello world from C#";
      hard
      A. Queue, because it keeps original order using FIFO
      B. Dictionary, because it stores key-value pairs
      C. Stack, because it reverses order using LIFO
      D. List, because it sorts items automatically

      Solution

      1. Step 1: Understand the goal

        Reversing words means last word should come first, so order is reversed.
      2. Step 2: Choose data structure behavior

        Stack uses Last-In-First-Out (LIFO), perfect for reversing order.
      3. Step 3: Eliminate other options

        Queue keeps order (FIFO), Dictionary stores pairs unordered, List does not reverse automatically.
      4. Final Answer:

        Stack, because it reverses order using LIFO -> Option C
      5. Quick Check:

        Reverse order = Stack (LIFO) [OK]
      Hint: Use Stack to reverse order with LIFO behavior [OK]
      Common Mistakes:
      • Choosing Queue for reversing
      • Thinking List auto-sorts
      • Using Dictionary for order
      • Ignoring LIFO vs FIFO difference