文章目录
1. stack和queue源码
- 由stack和queue源码可知,其实stack和queue是将deque容器进行再封装,其底层是一个deque容器
- 对stack和queue操作,其实间接操作的是deque容器
stack源码
template<class _Ty, class _Container = deque<_Ty> > // deque容器
class stack
{
// LIFO queue implemented with a container
protected:
_Container c; // the underlying container
public:
// test if stack is empty
bool empty() const {
return (c.empty()); }
// test length of stack
size_type size() const {
return (c.size()); }
// return last element of mutable stack
reference top() {
return (c.back()); }
// return last element of nonmutable stack
const_reference top() const {
return (c.back()); }
// insert element at end
void push(const value_type& _Val) {
c