栈和队列

栈的定义

栈是一种重要的线性结构,是线性表的一种具体形式。栈是先进后出,后进先出的线性表,它要求只在表尾进行删除和插入操作。比如浏览器,每点一次后退,就回到上次浏览过的界面,这就是栈的一个应用案例。

栈的插入操作(Push),叫做进栈,也称为压栈,入栈。
栈的删除操作(Pop),叫做出栈,也称为弹栈。

栈分为顺序存储结构和栈的链式存储结构。但一般用的最多的就是顺序存储结构。

如何判断栈为空呢?

一个数组以数组底为栈底,而栈顶时钟标志是始终操作栈顶元素的。也就是说,你要压栈,必须先把栈顶标志加一之后才能写入,你要弹栈需要先读出再把栈顶标志减一。

栈的top指针等于bottom指针时,栈为空。

栈又分为链式存储栈和顺序存储栈,一般通常用顺序存储栈。

你可能感兴趣的:(算法之美)