Swift中有内置的堆栈实现吗?

时间:2019-07-16 14:25:32

标签: swift stack

我想在我的快速代码中使用Stack。我找不到Swift中的任何内置堆栈实现,如Java中的java.util.Stack。

我可以迅速实现自己的Stack,但我更喜欢内置的。

2 个答案:

答案 0 :(得分:1)

否,但是您可以轻松实现自己的

struct Stack {
    private var array: [Any] = []

    mutating func push(_ element: Any) {
        array.append(element)
    }

    mutating func pop() -> Any? {
        return array.popLast()
    }

    func peek() -> Any? {
        guard let top = array.last else { return nil }
        return top
    }
}

答案 1 :(得分:0)

文档中有一个实现,位于: https://docs.swift.org/swift-book/LanguageGuide/Generics.html 也是不可知类型的。

struct Stack<Element> {
    var items = [Element]()
    mutating func push(_ item: Element) {
        items.append(item)
    }
    mutating func pop() -> Element {
        return items.removeLast()
    }
}