【发布时间】:2012-12-13 00:01:41
【问题描述】:
我读到 ADT 堆栈可以使用实现
一个数组
链表
ADT 列表
但是当我使用堆栈时,我只是调用堆栈库。这些实现堆栈库中的哪一个使用?
【问题讨论】:
-
哪个“堆栈库”?你的意思是标准的
std::stack? -
是的............
我读到 ADT 堆栈可以使用实现
一个数组
链表
ADT 列表
但是当我使用堆栈时,我只是调用堆栈库。这些实现堆栈库中的哪一个使用?
【问题讨论】:
std::stack?
std::stack 是一个容器适配器,它使用一些其他容器作为数据的底层存储。默认为std::deque,但如果您愿意,您可以指定其他序列,例如std::list 或std::vector。
对底层容器的要求非常低——如果内存服务,它需要支持back()、push_back()、pop_back()、size() 和swap()(最后两个不是除非您使用stack::size() 或stack::swap(),否则确实需要,这可能并不常见)。
【讨论】: