我读到可以使用
实现ADT堆栈数组
链接列表
ADT列表
但是当我使用堆栈时,我只是调用堆栈库。这些实现堆栈库中的哪一个使用?
答案 0 :(得分:6)
std::stack
是一个容器适配器,它使用其他容器作为数据的底层存储。默认为std::deque
,但如果您愿意,可以指定其他序列,例如std::list
或std::vector
。
对底层容器的要求非常小 - 如果内存服务,则需要支持back()
,push_back()
,pop_back()
,size()
和{{1 (除非你使用swap()
或stack::size()
,否则不需要最后两个,这可能不是那么常见)。