まずは結論から
コード
struct Stack<Element>{
public private(set) var items : [Element]
init() {
items = [Element]()
}
init(_ value : [Element]) {
items = [Element](value)
}
mutating func push(_ item: Element){
items.append(item)
}
mutating func pop() -> Element?{
return items.popLast()
}
}
経緯
普通の配列にもpopLast
があるにはあるんですけど,他の方法でアイテムを編集できてしまったりするので,push, popしかできないものがほしいなぁと思ったので。
一応中身の個数とか知りたい場合もあるかと思って配列の中を見ることは出来ます。