Sobes.tech
Junior — Middle

Կա հնարավորություն սեփական հերթականության կառուցվածքը իրականացնել?

sobes.tech AI

Պատասխան 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