Stack

栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往上堆。取走时,只能从上面一件一件取。读和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一端称栈底。插入一般称为进栈,删除则称为退栈。 栈也称为后进先出表。
以下是Swift语法实现一个Stack类。

struct Stack<T> {
      //存储元素
    private var elements = [T]()
    
    /// 元素数量
    var count:Int {
        return elements.count
    }
    
    /// 推入元素
    ///
    /// - Parameter element: 元素
    mutating func push(_ element:T) {
        elements.append(element)
    }
    
    /// 弹出元素
    ///
    /// - Returns: 被弹出的元素
    mutating func pop() -> T {
        return elements.removeLast()
    }
}

以下是Stack的用法

   //新建元素
   var stack = Stack<Int>()
   //推入元素
   stack.push(1)
   stack.push(2)
   stack.push(3)
   //计算stack大小
   stack.count
   //弹出元素
   stack.pop()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容