// 用数组实现栈 class Stack { // 数组: 存储内容 var stack: [AnyObject] // 栈是否为空: 判断数组是否为空 var isEmpty: Bool { return stack.isEmpty } // 栈顶: 数组的最后一条数组 var peek: AnyObject? { return stack.last } // 初始化栈, 也就是初始化数组 init() { stack = [AnyObject]() } // 入栈操作: 向数组中追加数据 func push(object: AnyObject) { stack.append(object) } // 出栈操作: 从数组中移除最后一条数据 func pop() -> AnyObject? { if !isEmpty { return stack.removeLast() } else { return nil } } } // 创建栈 var myStack = Stack() // 入栈 myStack.push(object: String(2) as AnyObject) myStack.push(object: String(5) as AnyObject) // 出栈 var result = myStack.pop() print(result!) // 打印栈中的数据 print(myStack.stack)