请尊重作者的劳动成果,如需转载请注明出处,谢谢!
如果觉得不错,可以关注我或者点赞,这就是你们对我最大的鼓励!
什么是栈呢?我们先看一个栈的应用
当我们在手机设置里点击一个按钮时,我们就会进入一个界面。比如我们点击"General(通用)",从"Setting(设置)"界面进入到"General"。然后点击"Auto-Lock(自动锁定)" 进入 "Auto-Lock"界面。 当我们设置完后,点击左上角返回时,我们能够知道我们返回的界面必定是刚才点击来的界面。同理,在"General" 界面点击左上角的返回时,必定返回"Setting"界面。
这种更换界面的方式我们称作------栈。
栈的特点是 后进先出。下图能够很好地展现栈的结构特点
我们放入环时,最大的环最先放进去,最后放入的环是最小的。
但是,当我们要取出的时候,只能从最小环到大环开始慢慢的取出来。
那么,我们该如何实现栈呢?
其实,栈的实现和线性表差不多。我们要做的,就是对添加,和删除操作作出一定的限制。
当然,栈还有很多其它实际的作用,比如括号匹配,迷宫穷举法求解等。函数的递归调用实际上也是靠栈。