Sobes.tech
Junior — Middle

როგორ ახორციელებთ თქვენი სისტემაში სტეკის მონაცემთა სტრუქტურას?

sobes.tech AI

პასუხი AI-სგან

Stack — ეს მონაცემთა სტრუქტურა, რომელიც მუშაობს LIFO (Last In, First Out) პრინციპით. Swift-ში, stack-ს შეიძლება განახორციელოს მასივის გამოყენებით, დამატებით push და pop მეთოდებს, რათა მართოს ელემენტები.

Swift-ში stack-ის განახორციელების მაგალითი:

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

ასეთი stack შეიძლება გამოიყენოს მოქმედებების ისტორიის, ნავიგაციის და სხვა დავალებების შენახვისთვის, სადაც ელემენტების დამუშავების წესია მნიშვნელოვანი.