【发布时间】:2010-07-09 17:25:19
【问题描述】:
我最近一直在实现递归目录搜索实现,并且我正在使用堆栈来跟踪路径元素。当我使用 string.Join() 加入路径元素时,我发现它们被颠倒了。调试方法的时候查看栈,发现栈内部数组中元素本身是倒置的,即最近Push()的元素在内部数组的开头,最近的Push() ed 元素位于内部数组的末尾。这似乎很落后,而且非常违反直觉。谁能告诉我为什么微软会以这种方式实现堆栈?
【问题讨论】:
-
听起来你想要一个队列而不是堆栈。
-
不,我正在遍历树深度优先,它需要是一个堆栈,但这与问题并不真正相关。
-
真正的男人使用从最高地址开始向下增长的堆栈。