免费域名申请网站大全推荐,南沙营销型网站建设,如何做英文网站外链,北京出名的室内设计公司适配器模式实现stack和queue 什么是适配器模式#xff1f;STL标准库中stack和queue的底层结构stack的模拟实现queue的模拟实现 什么是适配器模式#xff1f;
适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结)#xff… 适配器模式实现stack和queue 什么是适配器模式STL标准库中stack和queue的底层结构stack的模拟实现queue的模拟实现 什么是适配器模式
适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结)该种模式是将一个类的接口转换成客户希望的另外一个接口。
STL标准库中stack和queue的底层结构
虽然stack和queue中也可以存放元素但在STL中并没有将其划分在容器的行列而是将其称为容器适配器这是因为stack和队列只是对其他容器的接口进行了包装STL中stack和queue默认使用deque。
stack的模拟实现
#include iostream
#include deque
using namespace std;
namespace zha123
{templateclass T, class Container dequeTclass stack{public:void push(const T val){_con.push_back(val);}void pop(){_con.pop_back();}T top(){return _con.back();}size_t size(){return _con.size();}bool empty(){return _con.empty();}private:Container _con;};
}queue的模拟实现
#include iostream
#include deque
using namespace std;
namespace zha123
{templateclass T, class Container dequeTclass queue{public:void push(const T x){_con.push_front(x);}void pop(){_con.pop_back();}T back(){return _con.back();}const T back()const{return _con.back();}T front(){return _con.front();}const T front()const{return _con.front();}size_t size()const{return _con.size();}bool empty()const{return _con.empty();}private:Container _con;};
}