Swift基础之实现一个栈

首先栈是一个遵从“后进先出,先进后出”规则的序列。
同时还有两个操作:
入栈操作,将一个元素放入栈中;
出栈操作,当栈不为空的时候,将栈顶元素(最后一个放入栈的元素)从栈中取出,栈中元素个数减一。

代码如下:

struct Stack {  //使用泛型让栈能存储各种元素
    var items = [Element]()
    mutating func push(_ item: Element) {  //入栈
        items.append(item)
    }
    
    mutating func pop() -> Element?{  //出栈
        if items.count < 1 {
            return nil
        }
        return items.removeLast()
    }
}

栈的实现还是非常简单的,需要注意的是入栈出栈方法使用了mutating修饰,这是为了改变结构体中的items成员变量,去掉则会有问题。

你可能感兴趣的:(Swift基础之实现一个栈)