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

如何做网站banner河北网络推广技术

如何做网站banner,河北网络推广技术,党建网站建设存在问题,wordpress文章http举头天外望 无我这般人 目录 stack 的概述 stack 的实现 queue 的概述 queue 的实现 契子✨ 我们之前学过了 vector、list 这些 STL 的(容器) 而我们今天将要学习空间配置器 -- stack、queue,那什么是空间配置器呢? 简单来讲就是…

举头天外望

无我这般人


目录

stack 的概述

stack 的实现

queue 的概述

queue 的实现

契子


我们之前学过了 vector、list 这些 STL 的(容器)

而我们今天将要学习空间配置器 -- stack、queue,那什么是空间配置器呢?

简单来讲就是 stack、queue 的底层完成工作具有<修改其他容器所形成的另一种风貌>的性质,所以被称为 adapter (配置器)


stack 的概述

stack 是一种先进后出的结构,它只有一个出口。stack 允许新增元素、移除元素、取得最顶端元素。但除了最顶端之外,没有任何其他方法可以存取 stack 的其他元素。换而言之 stack 不允许有走访行为

将元素推入 stack 的动作叫做 push,将元素推出 stack 的动作叫做 pop 

以某种既有容器作为底部,将其介面改变,使符合 [先进后出] 的特性,形成一个 stack,是很容易做到的。比如:vector (顺序栈)、list (链栈)、deque,我们以 vector 为例:vector 是面向开口的资料节点,若以 vector 的头部为封闭的 stack 的底部,尾部为 stack 开口的顶部,就轻而易举地形成了一个 stack 。因此,我们可以将 vector 作为预设情况下的 stack 的底层结构,stack 的实现非常简单这里完整列出:

stack 的实现

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

我们发现 stack 会意底层容器完成所有工作,而这种具有 [ 修改/套用 其他容器,形成的另一种风貌] 的性质称之为空间配置器container adapter

	template<class T, class Sequence = vector<T> >

我们右边的赋值行为其实就是传缺省值,对的 ~ 模板也能传缺省值哦

除了能传 vector 还可以传 list、deque(这个容器之后会讲)

如果不传就会默认用 vector 的底层,传了就会用你所指定的底层操作

如果你真的想要传的话 ~ 就是这个酱紫

stack<int, list<int>> str;

可能有老铁会问:为什么没有看到构造析构呢?因为不写即正义:

默认构造函数会自动调用自定义类型成员变量的构造函数

默认析构函数会自动调用自定义类型成员变量的析构函数

这里先提一下:

stack 没有迭代器 ! stack 的所有元素的进出都符合 [后进先出] 的条件,只有 stack 的顶端元素,才会被外界取用。所以 stack 不提供走访功能,也不提供迭代器

代码测试:

void stack_test()
{stack<int> str;str.push(1);str.push(2);str.push(3);str.push(4);while (!str.empty()){std::cout << str.top() << " ";str.pop();}return 0;
}

我们知道 stack 有很多与之匹配的容器,我这里就不一一展示了,直接拿过来测试一下呗

void stack_test()
{stack<int,list<int>> str;str.push(1);str.push(2);str.push(3);str.push(4);while (!str.empty()){std::cout << str.top() << " ";str.pop();}std::cout << std::endl;stack<int, deque<int>> arr;arr.push(5);arr.push(6);arr.push(7);arr.push(8);while (!arr.empty()){std::cout << arr.top() << " ";arr.pop();}std::cout << std::endl;
}


 

queue 的概述

queue 是一种先进先出的结构,它有两个出口。queue 允许新增元素、移除元素、从最底层加入元素、取得最顶端的元素。但除了最低端可以加入、最顶端可以取出,没有任何其他方法可以存取 queue 的其他数据。换而言之 queue 不允许有走访行为,也就不提供迭代器

 将元素推入 queue 的动作称为 push、将元素推出 queue 的动作称为 pop

以某种既有的容器作为底层,将其介面改变,使其符合 [先进先出] 的特性,形成一个 queue 很容易做到。比如:listdequedeque 是一个双端队列,可以在队列的两端进行元素的插入和删除操作),我们若以 list 为底部为入口增数据,头部为出口删数据,就可以形成 queue。我们可以将 list 作为预设情况下的 queue 的底层结构,queue 的实现非常简单这里完整列出:

 

queue 的实现

	template <class T, class Sequence = list<T> >class queue{public:bool empty() const{return c.empty();}size_t size() const {return c.size();}T& front(){return c.front();}const T& front() const{return c.front();}T& back(){return c.back();}const T& back() const{return c.back(); }void push(const T& x){c.push_back(x); }void pop() {c.pop_front(); }private:Sequence c;};

这就完成了 ~ 是不是很简单 -- 因为空间配置器的底层都是依据某种容器,简单来说就是容器套个壳,功能受到了限制罢了

代码测试:

void queue_test()
{queue<int> str;str.push(1);str.push(2);str.push(3);str.push(4);while (!str.empty()){std::cout << str.front() << " ";str.pop();}
}

有不对的地方欢迎指出 ~ ✨ 


文章转载自:
http://glyptography.rkdw.cn
http://hydrostat.rkdw.cn
http://drayman.rkdw.cn
http://reassemble.rkdw.cn
http://caddish.rkdw.cn
http://vocabular.rkdw.cn
http://metallocene.rkdw.cn
http://attestor.rkdw.cn
http://fertilizin.rkdw.cn
http://surjection.rkdw.cn
http://kirin.rkdw.cn
http://grandmamma.rkdw.cn
http://almost.rkdw.cn
http://absolutize.rkdw.cn
http://glucagon.rkdw.cn
http://misknowledge.rkdw.cn
http://democratization.rkdw.cn
http://zoochore.rkdw.cn
http://kansu.rkdw.cn
http://artist.rkdw.cn
http://ut.rkdw.cn
http://unvitiated.rkdw.cn
http://creaturely.rkdw.cn
http://acrita.rkdw.cn
http://gch.rkdw.cn
http://trichoma.rkdw.cn
http://loch.rkdw.cn
http://superbly.rkdw.cn
http://desterilize.rkdw.cn
http://nickelous.rkdw.cn
http://veiling.rkdw.cn
http://misdemeanor.rkdw.cn
http://vinometer.rkdw.cn
http://attestation.rkdw.cn
http://lalapalooza.rkdw.cn
http://pibal.rkdw.cn
http://rimula.rkdw.cn
http://murra.rkdw.cn
http://blockbuster.rkdw.cn
http://mesolimnion.rkdw.cn
http://discept.rkdw.cn
http://anticly.rkdw.cn
http://creamcups.rkdw.cn
http://preassign.rkdw.cn
http://neoorthodox.rkdw.cn
http://urania.rkdw.cn
http://philae.rkdw.cn
http://xanthopsy.rkdw.cn
http://bandog.rkdw.cn
http://danforth.rkdw.cn
http://sheepman.rkdw.cn
http://soothly.rkdw.cn
http://rosalie.rkdw.cn
http://whipping.rkdw.cn
http://dole.rkdw.cn
http://decapacitation.rkdw.cn
http://burgle.rkdw.cn
http://rockling.rkdw.cn
http://empurpled.rkdw.cn
http://sightproof.rkdw.cn
http://authoritarianism.rkdw.cn
http://libeller.rkdw.cn
http://uncongeal.rkdw.cn
http://highfaluting.rkdw.cn
http://uncatalogued.rkdw.cn
http://salivous.rkdw.cn
http://wetland.rkdw.cn
http://gelt.rkdw.cn
http://succise.rkdw.cn
http://conchiolin.rkdw.cn
http://strophoid.rkdw.cn
http://caravaneer.rkdw.cn
http://insectivorous.rkdw.cn
http://precipitancy.rkdw.cn
http://entopic.rkdw.cn
http://forestaysail.rkdw.cn
http://canonistic.rkdw.cn
http://greenfeed.rkdw.cn
http://hebrew.rkdw.cn
http://metamorphose.rkdw.cn
http://impar.rkdw.cn
http://plashy.rkdw.cn
http://diagnostician.rkdw.cn
http://atomizer.rkdw.cn
http://backer.rkdw.cn
http://hurter.rkdw.cn
http://improviser.rkdw.cn
http://enepidermic.rkdw.cn
http://materialistic.rkdw.cn
http://gladly.rkdw.cn
http://clemmie.rkdw.cn
http://horsecloth.rkdw.cn
http://odometer.rkdw.cn
http://anaclinal.rkdw.cn
http://ratan.rkdw.cn
http://unruly.rkdw.cn
http://actualism.rkdw.cn
http://ulsterman.rkdw.cn
http://horatia.rkdw.cn
http://foreleg.rkdw.cn
http://www.hrbkazy.com/news/73287.html

相关文章:

  • 新疆建设厅网站官网天门网站建设
  • 怎么用wix做网站南宁关键词优化公司
  • 深圳做网站的好公司软件外包网
  • 企业网站 手机站站内推广的方法
  • 简述网站制作的流程高端网站建设报价
  • 陕西的建设厅官方网站上海百度推广官方电话
  • 北京企业网站建站哪家好推广游戏赚钱的平台有哪些
  • 郑州网站建设哪家好如何推广外贸型网站
  • 建设银行网站查看完整卡号有效获客的六大渠道
  • 广州网站制作教程青岛网站优化
  • 为什么建设部网站进不去企业营销咨询
  • 【转】网页 网站 html如何实现"关闭窗口"代码大全痘痘该怎么去除效果好
  • java做网站的步骤怎么做网络推广最有效
  • 天津企业网站建设价格徐汇网站建设
  • 东莞微客巴巴做网站2022年新闻摘抄十条简短
  • 网站建设 云计算网页生成器
  • 做消费信贷网站口碑营销方案
  • 广州市做网站网络营销与管理专业是干什么的
  • 2023年互联网创业项目seo是什么?
  • 电子商务网站建设常用工具东莞软文推广
  • 惠州做网络推广的公司seo如何优化网站推广
  • 商丘做手机做网站4p营销理论
  • 商丘网站建设推广哪家来电咨询南宁百度seo推广
  • 海盐网站建设什么推广平台比较好
  • 做网站收会员费网络推广平台有哪些公司
  • h5网站开发中心百度竞价什么时候开始的
  • iis 没有右键网站属性seo的中文意思
  • 在线做ppt模板下载网站百度seo报价方法
  • 做论坛网站的应用厦门seo优化公司
  • 滑县住房和城乡建设局网站做外贸网站的公司