Junior — Middle
Как реализираш структурата от данни стек в системата си?
sobes.tech AI
Отговор от AI
Стекът е структура от данни, която работи по принципа LIFO (Last In, First Out). В Swift може да се реализира стек с помощта на масив, като се добавят методите push и pop за управление на елементите.
Пример за реализиране на стек в Swift:
struct Stack<Element> {
private var elements: [Element] = []
mutating func push(_ element: Element) {
elements.append(element)
}
mutating func pop() -> Element? {
return elements.popLast()
}
func peek() -> Element? {
return elements.last
}
var isEmpty: Bool {
return elements.isEmpty
}
var count: Int {
return elements.count
}
}
// Използване:
var stack = Stack<Int>()
stack.push(10)
stack.push(20)
print(stack.pop() ?? "празен") // 20
print(stack.peek() ?? "празен") // 10
Този стек може да се използва за съхраняване на историята на действия, навигация и други задачи, където е важен редът на обработка на елементите.