什么是栈(Stack)? 栈(stack)是一种采用后进先出(LIFO,last in first out)策略的抽象数据结构.比如物流装车,后装的货物先卸,先转的货物后卸.栈在数据结构中的地位很重要,在算法中的应用也很多,比如用于非递归的遍历二叉树,计算逆波兰表达式,等等. 栈一般用一个存储结构(常用数组,偶见链表),存储元素.并用一个指针记录栈顶位置.栈底位置则是指栈中元素数量为0时的栈顶位置,也即栈开始的位置.栈的主要操作: push(),将新的元素压入栈顶,同时栈顶上升. pop(),将…