【发布时间】:2018-05-30 00:39:18
【问题描述】:
所以,我们知道 Stack 是按照 LIFO 原理工作的。 例如,我们有这段代码(由 Java 编写,但我认为语言并不重要):
int a = 1;
int b = 2;
int c = 3;
System.out.println(a);
据我了解,首先 a 将被推入堆栈,然后是 b,然后是 c。 但是最后一行需要解析a的值,stack只支持push和pop操作。是不是说为了解析a的值,会pop(ed)之前的值?
真的很快吗?
【问题讨论】:
-
您将堆栈混淆为数据集合,而堆栈则混淆为内存管理。堆栈数据收集按照您的设想工作,要到达第一个元素,您必须经过最后一个元素。内存管理中的堆栈是数据如何排列的表示,无需使用 LIFO 原则来访问数据。