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