Sobes.tech
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

Този стек може да се използва за съхраняване на историята на действия, навигация и други задачи, където е важен редът на обработка на елементите.