Sobes.tech
Назад к вопросам
Junior — Middle
67

Есть ли возможность реализовать собственную структуру очереди?

Компании, где спрашивали
bip.ru

Ответ от нейросети

sobes.tech AI

Да, в iOS можно реализовать собственную структуру очереди. Например, можно создать класс, который будет хранить элементы в массиве и предоставлять методы для добавления (enqueue) и удаления (dequeue) элементов по принципу FIFO (первым пришёл — первым вышел). Это может быть полезно, если стандартные классы, такие как DispatchQueue, не подходят для конкретных задач.

Пример простой очереди на Swift:

class Queue<T> {
    private var elements: [T] = []

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

    func dequeue() -> T? {
        guard !elements.isEmpty else { return nil }
        return elements.removeFirst()
    }

    var isEmpty: Bool {
        return elements.isEmpty
    }
}

let queue = Queue<Int>()
queue.enqueue(1)
queue.enqueue(2)
print(queue.dequeue()) // 1
print(queue.dequeue()) // 2