介绍

1.先入后出的有序列表

2.限制线性表中元素的插入和删除只能在同一端;栈顶:允许插入、删除,栈底:固定的一端

3.栈顶:元素最后放入,最先删除;栈底:元素最先放入,最后删除

4.Stack类已过时,用LinkedList类实现栈

 

应用

1.子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,以回到原来的程序中 

2.递归调用:和子程序的调用类似,除了储存下一个指令的地址外,也将参数、区域变量等数据存入堆栈中

3.表达式的转换[中缀表达式转后缀表达式]

4.二叉树的遍历

5.图形的深度优先(depth一first)搜索法

 

数组模拟栈

1.定义一个 top  来表示栈顶,初始化 为  -1

2.入栈: top++;stack[top] = data;

3.出栈: int value = stack[top];top--; return value;

posted @   半条咸鱼  阅读(39)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示