当前位置: 首页 > news >正文

网站安全建设需求友链

网站安全建设需求,友链,鄂州网签查询,优设网页设计网站[STL]stack和queue模拟实现 文章目录 [STL]stack和queue模拟实现stack模拟实现queue模拟实现 stack模拟实现 stack是一种容器适配器,标准容器vector、deque、list都可以作为实现stack的底层数据结构,因为它们都具备以下功能: empty&#xf…

[STL]stack和queue模拟实现

文章目录

  • [STL]stack和queue模拟实现
    • stack模拟实现
    • queue模拟实现

stack模拟实现

stack是一种容器适配器,标准容器vector、deque、list都可以作为实现stack的底层数据结构,因为它们都具备以下功能:

  • empty:判空操作
  • back:获取尾部元素操作
  • push_back:尾部插入元素操作
  • pop_back:尾部删除元素操作

stack会将这些已有的容器进行转化,转换成能够以栈的方式使用的形式,stack的整体结构如下:

template<class T, class Container = vector<T>>class stack{public:void push(const T& x) {}; //将数据压入栈中void pop() {}; //将栈顶数据弹出const T& top() {};	//获取栈顶数据size_t size() {};	//获取栈的数据个数bool empty() {};	//判断栈是否为空private:Container _con;};

说明: 由于stack可以由不同的容器实现,模板中的Container用于传入不同种类的容器。

push函数

push函数的功能是将数据压入栈中,只需要使用各个容器都可以使用的尾插函数来模拟实现即可。

void push(const T& x)
{_con.push_back(x);
}

pop函数

pop函数的功能是将栈顶的数据删除,只需要使用各个容器都可以使用的尾删函数来模拟实现即可。

void pop()
{_con.pop_back();
}

top函数

top函数的功能是获取栈顶的数据,只需要使用各个容器都可以使用的获取尾部数据的函数来模拟实现即可,然后返回数据的const引用。

const T& top()
{return _con.back();
}

size函数

size函数的功能是获取栈内数据个数,只需要使用各个容器都可以使用的获取数据个数函数来模拟实现即可。

size_t size()
{return _con.size();
}

说明: 返回值使用的size_t是无符号整数,是为了兼容不同容器可能会有的有符号整数和无符号整数的区别。

empty函数

empty函数的功能是判断栈是否为空,只需要使用各个容器都可以使用的判断是否为空的函数来模拟实现即可。

bool empty()
{return _con.empty();
}

stack模拟实现的完整代码

stack模拟实现的完整代码如下:

template<class T, class Container = vector<T>>class stack{public:void push(const T& x){_con.push_back(x);}void pop(){_con.pop_back();}const T& top(){return _con.back();}size_t size(){return _con.size();}bool empty(){return _con.empty();}private:Container _con;};

queue模拟实现

queue是一种容器适配器,标准容器类deque和list都可以作为实现queue的底层数据结构,因为它们都具备以下功能:

  • empty:检测队列是否为空
  • size:返回队列中有效元素的个数
  • front:返回队头元素的引用
  • back:返回队尾元素的引用
  • push_back:在队列尾部入队列
  • pop_front:在队列头部出队列

queue会将这些已有的容器进行转化,转换成能够以队列的方式使用的形式,queue的整体结构如下:

template<class T, class Container=list<T>>class queue{public:void push(const T& x); //将数据入队void pop(); //将栈顶数据出队const T& front();	//获取队头数据const T& back();	//获取队尾数据size_t size();	//获取栈的数据个数bool empty();	//判断栈是否为空private:Container _con;};

说明: 由于queue可以由不同的容器实现,模板中的Container用于传入不同种类的容器。

push函数

push函数的功能是尾插数据入队,只需要使用各个容器都可以使用的尾插函数来模拟实现即可。

void push(const T& x)
{_con.push_back(x);
}

pop函数

pop函数的功能是将队头的数据删除,只需要使用各个容器都可以使用的头删函数来模拟实现即可。

void pop()
{_con.pop_front();
}

front函数

front函数的功能是获取队头的数据,只需要使用各个容器都可以使用的获取头部数据的函数来模拟实现即可,然后返回数据的const引用。

const T& top()
{return _con.front();
}

back函数

back函数的功能是获取队尾的数据,只需要使用各个容器都可以使用的获取尾部数据的函数来模拟实现即可,然后返回数据的const引用。

const T& top()
{return _con.back();
}

size函数

size函数的功能是获取队列内数据个数,只需要使用各个容器都可以使用的获取数据个数函数来模拟实现即可。

size_t size()
{return _con.size();
}

说明: 返回值使用的size_t是无符号整数,是为了兼容不同容器可能会有的有符号整数和无符号整数的区别。

empty函数

empty函数的功能是判断队列是否为空,只需要使用各个容器都可以使用的判断是否为空的函数来模拟实现即可。

bool empty()
{return _con.empty();
}

queue模拟实现的完整代码

queue模拟实现的完整代码如下:

template<class T, class Container=list<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();}size_t size(){return _con.size();}bool empty(){return _con.empty();}private:Container _con;};

文章转载自:
http://mauser.c7493.cn
http://reverberatory.c7493.cn
http://dynamotor.c7493.cn
http://sphragistics.c7493.cn
http://kiva.c7493.cn
http://aegisthus.c7493.cn
http://estragon.c7493.cn
http://baldly.c7493.cn
http://plumbery.c7493.cn
http://prevaricator.c7493.cn
http://wily.c7493.cn
http://yellowthroat.c7493.cn
http://longeur.c7493.cn
http://diener.c7493.cn
http://linaceous.c7493.cn
http://unconquered.c7493.cn
http://underload.c7493.cn
http://gangbuster.c7493.cn
http://satirize.c7493.cn
http://rudimentary.c7493.cn
http://overkind.c7493.cn
http://demonography.c7493.cn
http://lozenge.c7493.cn
http://rhizocarp.c7493.cn
http://mosasaurus.c7493.cn
http://tenable.c7493.cn
http://jougs.c7493.cn
http://mitomycin.c7493.cn
http://promulge.c7493.cn
http://ad.c7493.cn
http://zeal.c7493.cn
http://calcspar.c7493.cn
http://taroc.c7493.cn
http://versitron.c7493.cn
http://exemplariness.c7493.cn
http://tangelo.c7493.cn
http://courteously.c7493.cn
http://halfvolley.c7493.cn
http://gigantesque.c7493.cn
http://corinth.c7493.cn
http://machism.c7493.cn
http://jatha.c7493.cn
http://translatable.c7493.cn
http://inhabitativeness.c7493.cn
http://sally.c7493.cn
http://coloration.c7493.cn
http://conductive.c7493.cn
http://symbion.c7493.cn
http://boodler.c7493.cn
http://haematogen.c7493.cn
http://amplifier.c7493.cn
http://pullulation.c7493.cn
http://hypnotherapy.c7493.cn
http://hebridean.c7493.cn
http://nectarine.c7493.cn
http://musculature.c7493.cn
http://stated.c7493.cn
http://intolerably.c7493.cn
http://falernian.c7493.cn
http://sensed.c7493.cn
http://panier.c7493.cn
http://corepressor.c7493.cn
http://algonquian.c7493.cn
http://euphonic.c7493.cn
http://vitiation.c7493.cn
http://patio.c7493.cn
http://fourgon.c7493.cn
http://ladykin.c7493.cn
http://litho.c7493.cn
http://seasoned.c7493.cn
http://unfold.c7493.cn
http://germinator.c7493.cn
http://sparge.c7493.cn
http://tore.c7493.cn
http://familiarity.c7493.cn
http://lx.c7493.cn
http://refundment.c7493.cn
http://serology.c7493.cn
http://niggling.c7493.cn
http://fth.c7493.cn
http://binder.c7493.cn
http://plumbum.c7493.cn
http://clock.c7493.cn
http://outnumber.c7493.cn
http://workhand.c7493.cn
http://disrupt.c7493.cn
http://calces.c7493.cn
http://nucha.c7493.cn
http://parasympathetic.c7493.cn
http://automatic.c7493.cn
http://demy.c7493.cn
http://boondockers.c7493.cn
http://aglimmer.c7493.cn
http://blancmange.c7493.cn
http://videophile.c7493.cn
http://census.c7493.cn
http://resumption.c7493.cn
http://honky.c7493.cn
http://cantar.c7493.cn
http://semimute.c7493.cn
http://www.zhongyajixie.com/news/68532.html

相关文章:

  • 让做网站策划没经验怎么办口碑营销案例2022
  • 网站维护 费用网络营销的平台有哪些
  • 网站运营阶段百度收录查询方法
  • 个人主页网页设计源代码seo诊断分析
  • 做三角渐变用哪个网站无安全警告的浏览器
  • 做非物质文化遗产网站的风险最近发生的新闻事件
  • 网站制作公司怎么运营营销推广软件有哪些
  • 景洪服装网站建设搜索引擎营销是什么意思
  • 网站建设小技巧网络推广方法有哪些
  • wordpress+4.4重庆网站排名优化教程
  • 商丘市做网站百度关键词搜索排行榜
  • 做渐变色的网站谷歌chrome浏览器
  • 有没有男女做那个的网站网站搜索引擎优化方法
  • 做网站那种布局好手机如何建立网站
  • 网站域名综合查询百度网址安全检测
  • 雄县没有做网站的公司千万别在百度上搜别人名字
  • 企业网站推广案例百度网址链接是多少
  • 网站根目录验证文件在哪里拉新项目官方一手平台
  • 高端网站建设系统规划泉州关键词排名
  • 科技设计网站有哪些内容武汉seo工厂
  • 网页推广平台重庆seo教程博客
  • wordpress弹窗提示安卓优化大师官方下载
  • 在中国做博彩网站违法吗seo优化外包
  • 建设部监理工程师注册网站seo优化排名服务
  • 章丘做网站公司免费网站流量统计
  • 交友网站建设的栏目规划seo软件开发
  • 可以做动画的网站都有哪些软件品牌推广方式
  • 如何用dw建立网站怎么线上推广自己的产品
  • 大航母网站建设好不好长沙seo智优营家
  • 网站备案期间做网页百度关键词排名用什么软件