Sobes.tech
Junior — Middle

Vai ir iespēja īstenot savu rindas struktūru?

sobes.tech AI

Atbilde no AI

Jā, iOS ir iespējams īstenot savu rindas struktūru. Piemēram, var izveidot klasi, kas glabā elementus masīvā un nodrošina metodes, lai pievienotu (enqueue) un noņemtu (dequeue) elementus pēc FIFO principa (pirmo ienākošo - pirmo ārā). Tas var būt noderīgi, ja standarta klases, piemēram, DispatchQueue, nav piemērotas konkrētiem uzdevumiem.

Vienkāršas rindas piemērs 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