新手快速,当我想使用堆栈时感到困惑。我必须自己实施吗?如果是这样,为什么swift没有像Java那样在库中拥有它? 感谢。
答案 0 :(得分:0)
我不熟悉Java,但如果您需要能够将项目放入堆栈,并将最后一项从堆栈中弹出,emperor.ini
具有以下功能:
.ini
答案 1 :(得分:0)
struct Stack<T> {
private var stack: [T] = []
mutating func push(_ item: T) {
stack.append(item)
}
mutating func pop() -> T {
return stack.removeLast()
}
func peek() -> T? {
return stack.last
}
}
var intStack: Stack<Int>()
intStack.push(1)
print("\(intStack.peek())") // -> 1
let first = intStack.pop() // -> 1
答案 2 :(得分:-1)
你真的不需要做太多的事情来获得一个像堆栈一样的东西。 Array
具有方法append
和popLast
,可以用作堆栈方法push和pop。您甚至可以进行一些扩展,使Array
方法与传统堆栈中的方法匹配:
extension Array {
mutating func push(item:Element) {
append(item)
}
mutating func pop() -> Element? {
return popLast()
}
}