1. 栈(stack)
这里提到的堆栈指的是计算机科学中的数据结构(与调用栈和内存区域相区分),指的是一组数据的存放方式,即LIFO后进先出(Last in,first out)。
后面的数据放在最上面,取数据的时候从上面取。
常用的方法有:push:在最顶层加入数据。
pop:返回并移除最顶层的数据。
top:返回最顶层数据的值,但不移除它。
isempty:返回一个布尔值,表示当前stack是否为空栈。
2. 队列 (queue)
队列也是一种常用的数据结构,存放方式为FIFO先进先出,就像我们买东西要排队一样,先到先得。
3. 两者的关系
栈和队列是两种很相似的数据结构,如同一对亲兄弟,都属于操作受限的线性表,然而也有很多不同之处。比如应用场景上,
常见栈的应用场景包括括号问题的求解,表达式的转换和求值,函数调用和递归实现,深度优先搜索遍历等;
常见的队列的应用场景包括计算机系统中各种资源的管理,消息缓