Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,845 questions

51,766 answers

573 users

How to create a queue, then enqueue and dequeue elements in Swift

2 Answers

0 votes
import Foundation

// Generic Queue Implementation
struct Queue<T> {
    private var elements: [T] = [] // Array to store queue elements

    // Check if the queue is empty
    var isEmpty: Bool {
        return elements.isEmpty
    }

    // Get the number of elements in the queue
    var count: Int {
        return elements.count
    }

    // Peek at the front element without removing it
    var front: T? {
        return elements.first
    }

    // Enqueue: Add an element to the end of the queue
    mutating func enqueue(_ element: T) {
        elements.append(element)
    }

    // Dequeue: Remove and return the front element of the queue
    mutating func dequeue() -> T? {
        return isEmpty ? nil : elements.removeFirst()
    }
}

var queue = Queue<Int>() // Create a queue of integers

// Enqueue elements
queue.enqueue(10)
queue.enqueue(20)
queue.enqueue(30)
queue.enqueue(40)
print("Queue after enqueuing: \(queue)") 

// Peek at the front element
if let front = queue.front {
    print("Front element: \(front)") 
}

// Dequeue elements
if let dequeued = queue.dequeue() {
    print("Dequeued element: \(dequeued)") 
}
print("Queue after dequeuing: \(queue)") 

// Check if the queue is empty
print("Is the queue empty? \(queue.isEmpty)") 



/*
run:

Queue after enqueuing: Queue<Int>(elements: [10, 20, 30, 40])
Front element: 10
Dequeued element: 10
Queue after dequeuing: Queue<Int>(elements: [20, 30, 40])
Is the queue empty? false

*/

 



answered Aug 23, 2025 by avibootz
0 votes
import Foundation

// Define a generic Queue class
class Queue<T> {
    private var elements: [T] = []

    func enqueue(_ element: T) {
        elements.append(element)
    }

    func dequeue() -> T? {
        guard !elements.isEmpty else {
            print("Queue is empty. Cannot dequeue.")
            return nil
        }
        return elements.removeFirst()
    }

    func peek() -> T? {
        return elements.first
    }

    func isEmpty() -> Bool {
        return elements.isEmpty
    }

    func size() -> Int {
        return elements.count
    }

    func printQueue() {
        if elements.isEmpty {
            print("Queue is empty.")
        } else {
            print("Queue contents:", elements.map { "\($0)" }.joined(separator: ", "))
        }
    }
}


let queue = Queue<Int>()

// Enqueue elements
queue.enqueue(10)
queue.enqueue(20)
queue.enqueue(30)

queue.printQueue()

// Peek at the first element
if let first = queue.peek() {
    print("First element (peek): \(first)")
}

// Dequeue elements
if let dequeued = queue.dequeue() {
    print("Dequeued element: \(dequeued)")
}
if let dequeued = queue.dequeue() {
    print("Dequeued element: \(dequeued)")
}

// Check if the queue is empty
print("Is the queue empty? \(queue.isEmpty())")

// Enqueue more elements
queue.enqueue(40)
queue.enqueue(50)
queue.printQueue()
print("Queue size: \(queue.size())")

// Dequeue the remaining elements
while !queue.isEmpty() {
    if let dequeued = queue.dequeue() {
        print("Dequeued element: \(dequeued)")
    }
}




/*
run:

Queue contents: 10, 20, 30
First element (peek): 10
Dequeued element: 10
Dequeued element: 20
Is the queue empty? false
Queue contents: 30, 40, 50
Queue size: 3
Dequeued element: 30
Dequeued element: 40
Dequeued element: 50

*/

 



answered Aug 23, 2025 by avibootz
...