栈,是数据结构设计中的最重要的思想之一,但是我疑惑的是为什么先进的元素反而要后出。
要是在生活中我们也是按照栈的规则来排顺序,这个世界岂不是乱了套了,试想你去银行排队取钱,明明你是第一个去,却等到晚上晚上银行人员快下班了你才最后处理完业务,恐怕你早就跟人干起来了。
对于此,我的老师给过一个解释:在编码的过程中,程序自上而下执行,嵌套越深的变量被出栈之后对程序的影响越小,嵌套越浅的变量(如全局变量)是不能轻易将数据从堆栈中取出的。
我的老师这个解释自然是对的,但是我之前有看到吴军老师一篇文章中有从另外角度的解释,不过当时没有记录下来,现在想不起来了,等我有时间再去找找吧。