stack和queue可以复用其他容器的函数如deque vector
这两个是空间适配器,所以都没有迭代器
一:stack模拟
namespace bit
{
template<class T, class Container = deque<T>>
class stack
{
public:
void push(const T& x)
{
_con.push_back(x);
}
void pop()
{
_con.pop_back();
}
const T& top()
{
return _con.back();
}
bool empty()
{
return _con.empty();
}
size_t size()
{
return _con.size();
}
private:
Container _con;
};
}
二:queue模拟
namespace bit
{
template<class T, class Container = deque<T>>
class queue
{
public:
void push(const T& x)
{
_con.push_back(x);
}
void pop()
{
_con.pop_front();
}
const T& front()
{
return _con.front();
}
const T& back()
{
return _con.back();
}
bool empty()
{
return _con.empty();
}
size_t size()
{
return _con.size();
}
private:
Container _con;
};
};
标签:return,back,C++,queue,pop,const,size,stack,con From: https://blog.csdn.net/lxy2977262881/article/details/142466932感谢你看到这大家共同进步!