我需要一个像堆栈一样的数据结构,但需要随机访问,但我应该实现什么?

时间:2016-05-21 19:59:14

标签: c++ algorithm data-structures stl stack

我正在尝试实现Tarjan的强连接组件算法但是我遇到了困难,因为psuedo-code(页17)要求我搜索堆栈,但我知道堆栈不提供随机访问工具。我个人认为这不是一个合适的伪代码,因为它们使用了错误的数据结构。你能建议我使用备用伪代码或备用数据结构吗?

1 个答案:

答案 0 :(得分:2)

Stack是一个容器适配器,在集线器下(默认情况下)它使用vector。如果愿意,也可以使用dequelist

这意味着vector提供了执行堆栈操作所需的所有功能。 vector使用RandomAccessIterator 这同样适用于deque

list使用BidirectionalIterator,无法满足您的需求。

我的建议是使用vector来完成任务。