图解java数据结构之栈(Stack),你确定不看看吗?
前言 之前我八种数据结构大概的轮廓归拢,但是由于是整体的归拢,内容不够详细,因此特写此篇文章针对数据结构中的栈进行更详细的了解,望对各位朋友有所帮助!如有错误,烦请私信或留言告知,在下定当及时更正,以免误人! 一.栈(Stack)的介绍 栈是一个先入后出(FILO:First In Last Out)的有序列表。 栈(Stack)是限制线性表中元素的插入和删除只能在同一端进行的一种特殊线性表。 允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为 栈底(Bottom)。 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶 而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除 二、入栈(压栈)图解 三、出栈(弹栈)图解 四、应用场景 1)子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,以回到原来的程序中。 2)处理递归调用:和子程序的调用类似,只是除了储存下一个指令的地址外,也将参数、区域变量等数据存入堆栈中。 3)表达式的转换[中缀表达式转后缀表达式]与求值(实际解决)。 4)二叉树的遍...