Enqueue values at the back and dequeue them from the front in first-in, first-out order.

Algorithm

The replay uses the same three values in every language, so this C# DSA implementation can be compared directly with the rest of the DSA track.

Basic Implementation

basic.cs
using System;
using System.Collections.Generic;
using System.Linq;

class Program {
    static string Render(List<int> values) => string.Join(" -> ", values);
    static void Main() {
        var queue = new Queue<int>();
        foreach (var value in new[] {10, 20, 30}) queue.Enqueue(value);
        var removed = new List<int>();
        while (queue.Count > 0) removed.Add(queue.Dequeue());
        Console.WriteLine(Render(removed));
    }
}

Complexity

  • Time: O(1) per operation with a real queue
  • Space: O(n)

Implementation notes

  • Keep the explicit stack/queue operations. Library shortcuts that only produce the final list hide the data-structure behavior this lesson is meant to replay.
  • The final output uses a deterministic a -> b -> c format for cross-language comparison.
front The front is the oldest value still waiting in the queue.
FIFO A queue removes values in first-in, first-out order.