数据结构中为什么要把栈设计为先进后出?

本文探讨了数据结构中栈的概念及其先进后出的特点,并通过实际场景比喻进行了解释。作者提出了疑问,即如果现实生活中的排队遵循栈的原则会怎样,并引用了老师的解释说明在编程中这种设计的合理性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

栈,是数据结构设计中的最重要的思想之一,但是我疑惑的是为什么先进的元素反而要后出。

要是在生活中我们也是按照栈的规则来排顺序,这个世界岂不是乱了套了,试想你去银行排队取钱,明明你是第一个去,却等到晚上晚上银行人员快下班了你才最后处理完业务,恐怕你早就跟人干起来了。

对于此,我的老师给过一个解释:在编码的过程中,程序自上而下执行,嵌套越深的变量被出栈之后对程序的影响越小,嵌套越浅的变量(如全局变量)是不能轻易将数据从堆栈中取出的。

我的老师这个解释自然是对的,但是我之前有看到吴军老师一篇文章中有从另外角度的解释,不过当时没有记录下来,现在想不起来了,等我有时间再去找找吧。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值