【发布时间】:2010-01-13 16:05:36
【问题描述】:
我们都阅读或听说过堆栈类,但我们中的许多人可能从未找到使用 LIFO 对象的理由。我很想知道使用此对象的现实世界解决方案以及原因。
http://msdn.microsoft.com/en-us/library/system.collections.stack.aspx
我最近看到一个例子,程序员在遍历分层数据源时使用堆栈来跟踪他的当前位置。当他向下移动层次结构时,他将他的位置标识符推到堆栈上,当他向后移动时,他将项目从堆栈中弹出。我认为这是一种非常有效的方式来跟踪他在庞大的层次结构中的当前位置。我以前从未见过。
其他人有例子吗?
【问题讨论】:
-
是的-首先使用堆栈作为深度。您知道您首先使用队列是为了广度吗?
-
这不是一个真正的.net 特定问题。堆栈是一种抽象数据类型,人们(可能)在每种语言中都使用它们。
-
我一直使用堆栈。您只需在必要时使用它们。
-
这应该是一个社区维基吗?
-
同意。选择 .Net 是个坏主意
标签: algorithm language-agnostic data-structures