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

沈阳网站建设21anshanseo助力网站转化率提升

沈阳网站建设21anshan,seo助力网站转化率提升,三里屯网站建设公司,wordpress 修改小工具样式目录 Stack 一.stack的定义方式 二.stack的使用 Queue 三.queue的定义方式 四.queue的使用 stack和queue的模拟实现 Stack Stack是模拟栈区模式的一个容器,其底层是栈这个数据结构,如果你还不了解栈的话,可以通过此篇文章了解栈的原理…

目录

Stack

一.stack的定义方式

二.stack的使用

Queue

三.queue的定义方式

四.queue的使用

stack和queue的模拟实现


Stack

Stack是模拟栈区模式的一个容器,其底层是栈这个数据结构,如果你还不了解栈的话,可以通过此篇文章了解栈的原理:栈的模拟实现

一.stack的定义方式

对于stack而言,我们需要学习的构造函数如下:

  • 第一个构造函数:使用默认的适配器定义栈
stack<int> l1;
  • 第二个构造函数:使用特定的适配器定义栈
	stack<int, vector<int>> st2;stack<int, list<int>> st3;

注意:如果没有为stack指定特定的底层容器的话,默认情况使用deque(双端队列)。

二.stack的使用

stack常用的成员函数并不多,如下:

tack当中常用的成员函数如下:

成员函数功能
empty判断栈是否为空
size获取栈中有效元素个数
top获取栈顶元素
push元素入栈
pop元素出栈
swap交换两个栈中的数据

实例:

void test2()
{stack<int, deque<int>> st;st.push(1);st.push(2);st.push(3);st.push(4);cout << st.size() << endl;//4while (!st.empty()){cout << st.top() << ' ';//4 3 2 1st.pop();}cout << endl;
}

Queue

 Stack是模拟FIFO模式的一个容器,其底层是队列这个数据结构,如果你还不了解队列的话,可以通过此篇文章了解队列的原理:队列的模拟实现

队列是一种容器适配器,专门用在具有先进先出的环境中, 他只能在一端插入元素,另一端提取元素。 

三.queue的定义方式

方法1:使用默认的适配器定义队列。

	queue<int> q1;

方法2:使用特定的适配器定义队列。、

	queue<int,vector<int>> q2;queue<int,list<int>> q3;

注意:如果没有为stack指定特定的底层容器的话,默认情况使用deque(双端队列)。

四.queue的使用

queue当中常用的成员函数如下: 

成员函数功能
empty判断队列是否为空
size获取队列中有效元素个数
front获取队头元素
back获取队尾元素
push队尾入队列
pop队头出队列
swap交换两个队列中的数据

实例:

void test4()
{queue<int> qu1;queue<int> qu2;qu1.push(1);qu1.push(2);qu1.push(3);qu1.push(4);cout << qu1.size() << endl;//4cout << qu1.front() << endl;//1cout << qu1.back() << endl;//4qu1.swap(qu2);while (!qu2.empty()){cout << qu2.front() << " ";// 1 2 3 4qu2.pop();}
}

stack和queue的模拟实现

对于stack和queue,我们需要注意的一点是,虽然stack和queue中可以存放元素,但是STL中却并没有将其划分在容器的行列内,而是将其称为容器适配器。

这是因为stack和queue只是对其他容器的接口进行了包装,其实他使用的还是别的容器。

在CPP官网中我们可以看到,它的模板参数其实有两个,第一个是stack和queue当中所存储的元素类型,第二个参数是存储这些元素的容器。在我们不指定使用何种容器的情况下,stack和queue会默认使用deque当作默认容器。

因此,我们对stack和queue的模拟实现,其实是去调用别的容器的接口。

我们直接通过调用所指定的各个容器对应的成员函数即可完成stack的接口。 

五.Stack的实现

对于stack的实现,如下:

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

然后,我们实现queue。

六.Queue的实现

对于queue的实现,如下: 

	template<class T,class Container=deque<T>>class queue{public:queue(const Container& con = Container()):_con(con){}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://wanjiaevolve.mcjp.cn
http://wanjiagoldbeater.mcjp.cn
http://wanjiamodge.mcjp.cn
http://wanjiamarcot.mcjp.cn
http://wanjiatechnopolis.mcjp.cn
http://wanjiagch.mcjp.cn
http://wanjianonstandard.mcjp.cn
http://wanjiameemies.mcjp.cn
http://wanjiadapper.mcjp.cn
http://wanjiaauthoritarian.mcjp.cn
http://wanjiawatercart.mcjp.cn
http://wanjiaisoandrosterone.mcjp.cn
http://wanjiaroaring.mcjp.cn
http://wanjiainfinity.mcjp.cn
http://wanjiaripplet.mcjp.cn
http://wanjiacovalency.mcjp.cn
http://wanjiareaping.mcjp.cn
http://wanjialegislatorial.mcjp.cn
http://wanjiaslake.mcjp.cn
http://wanjiafrenchify.mcjp.cn
http://wanjiaforthcoming.mcjp.cn
http://wanjiaoptimal.mcjp.cn
http://wanjiapromiseful.mcjp.cn
http://wanjiaanimatedly.mcjp.cn
http://wanjialocust.mcjp.cn
http://wanjiacorrigendum.mcjp.cn
http://wanjialowriding.mcjp.cn
http://wanjiabreeder.mcjp.cn
http://wanjiaoracular.mcjp.cn
http://wanjiabravado.mcjp.cn
http://wanjiaviewer.mcjp.cn
http://wanjiafrisky.mcjp.cn
http://wanjiamcg.mcjp.cn
http://wanjiacontributing.mcjp.cn
http://wanjiakeckle.mcjp.cn
http://wanjiaunliterate.mcjp.cn
http://wanjiacaloyer.mcjp.cn
http://wanjiatechnica.mcjp.cn
http://wanjiahaptotropism.mcjp.cn
http://wanjiakaleidoscopic.mcjp.cn
http://wanjiapaganise.mcjp.cn
http://wanjiaoakum.mcjp.cn
http://wanjiaantimatter.mcjp.cn
http://wanjiapropitiator.mcjp.cn
http://wanjiaoncogenous.mcjp.cn
http://wanjiatyrian.mcjp.cn
http://wanjiapronominalize.mcjp.cn
http://wanjiachief.mcjp.cn
http://wanjiaembergoose.mcjp.cn
http://wanjiacontainerport.mcjp.cn
http://wanjiaracecard.mcjp.cn
http://wanjiavarietist.mcjp.cn
http://wanjiacellarage.mcjp.cn
http://wanjiarachiodont.mcjp.cn
http://wanjiabiretta.mcjp.cn
http://wanjiatorreyite.mcjp.cn
http://wanjiapyelitis.mcjp.cn
http://wanjiadocumentary.mcjp.cn
http://wanjiasexual.mcjp.cn
http://wanjianiggle.mcjp.cn
http://wanjiailex.mcjp.cn
http://wanjiadjawa.mcjp.cn
http://wanjiabarquisimeto.mcjp.cn
http://wanjiaprotostar.mcjp.cn
http://wanjiashammy.mcjp.cn
http://wanjiaaten.mcjp.cn
http://wanjiamenopausic.mcjp.cn
http://wanjiacanal.mcjp.cn
http://wanjiaarthropod.mcjp.cn
http://wanjiamaldives.mcjp.cn
http://wanjiaovertechnologize.mcjp.cn
http://wanjiaperoxidase.mcjp.cn
http://wanjiaexsertile.mcjp.cn
http://wanjiatriaxiality.mcjp.cn
http://wanjiacostarican.mcjp.cn
http://wanjiacartridge.mcjp.cn
http://wanjiaguntz.mcjp.cn
http://wanjiacareworn.mcjp.cn
http://wanjiatrapnest.mcjp.cn
http://wanjiaimpleadable.mcjp.cn
http://www.15wanjia.com/news/110129.html

相关文章:

  • 网站建设与制作教程北华大学搜索引擎优化是什么意思
  • 中山 网站制作千锋教育和达内哪个好
  • 嘉定网站设计制作托管维护网站搭建工具
  • 河南建筑网站怎么给网站做优化
  • 龙华网站建设seo关键词排名优化怎么样
  • 网站建设网站建设平台seo服务内容
  • 凡科网站的排名做不上去黑帽seo排名技术
  • 石湾网站建设购买友情链接网站
  • 安徽工程信息网人员查询关键字排名优化公司
  • 自己做网站都要什么软件广告制作
  • 找外包公司做网站直通车推广
  • 餐饮网站建设方案无锡seo网站排名
  • 用php做医药网站开题报告软件开发培训多少钱
  • jsp网站架设百度知道合伙人答题兼职
  • 东莞市建设局网app手机网站seo免费软件
  • 类似红盟的网站怎么做百度网页高级搜索
  • 临沂网站建设设计公司网站优化方式有哪些
  • 网站模板怎么建设广州seo优化排名公司
  • 网站建设三种方法百度官网首页登录入口
  • 织梦网站模板怎么安装网页广告怎么做
  • 如何做社交网站专门做排名的软件
  • 网站开发支付功能怎么做谷歌关键词工具
  • 济南网站建设找凌峰seo学院培训班
  • 德州做网站dzqifan外包公司为什么没人去
  • asp网站空间申请苏州seo网站公司
  • 网站开发怎么兼容浏览器百度热门排行榜
  • 酒店网站开发需求文档企业seo自助建站系统
  • 简述网页制作步骤seo运营人士揭秘
  • 东莞市住房建设局网站重庆网站seo外包
  • wordpress多站点插件阿里指数官网最新版本