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

网站留言表格怎么做推介做界面的网站

网站留言表格怎么做,推介做界面的网站,环保网站建设开发,NET网站开发程序员举头天外望 无我这般人 目录 stack 的概述 stack 的实现 queue 的概述 queue 的实现 契子✨ 我们之前学过了 vector、list 这些 STL 的#xff08;容器#xff09; 而我们今天将要学习空间配置器 -- stack、queue#xff0c;那什么是空间配置器呢#xff1f; 简单来讲就是… 举头天外望 无我这般人 目录 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 的实现 templateclass T, class Sequence vectorT 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 templateclass T, class Sequence vectorT 我们右边的赋值行为其实就是传缺省值对的 ~ 模板也能传缺省值哦 除了能传 vector 还可以传 list、deque这个容器之后会讲 如果不传就会默认用 vector 的底层传了就会用你所指定的底层操作 如果你真的想要传的话 ~ 就是这个酱紫的 stackint, listint str; 可能有老铁会问为什么没有看到构造和析构呢因为不写即正义 默认构造函数会自动调用自定义类型成员变量的构造函数 默认析构函数会自动调用自定义类型成员变量的析构函数 这里先提一下 stack 没有迭代器 stack 的所有元素的进出都符合 [后进先出] 的条件只有 stack 的顶端元素才会被外界取用。所以 stack 不提供走访功能也不提供迭代器 代码测试 void stack_test() {stackint 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() {stackint,listint 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;stackint, dequeint 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 很容易做到。比如list、dequedeque 是一个双端队列可以在队列的两端进行元素的插入和删除操作我们若以 list 为底部为入口增数据头部为出口删数据就可以形成 queue。我们可以将 list 作为预设情况下的 queue 的底层结构queue 的实现非常简单这里完整列出 queue 的实现 template class T, class Sequence listT 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() {queueint str;str.push(1);str.push(2);str.push(3);str.push(4);while (!str.empty()){std::cout str.front() ;str.pop();} } 有不对的地方欢迎指出 ~ ✨
http://www.dnsts.com.cn/news/11503.html

相关文章:

  • 网站开发毕业设计开题报告WordPress在哪里添加备案
  • 杭州手机网站制作公司哪家好搜索引擎推广有哪些平台
  • 个人怎么做ckmov解析网站长沙网站开发培训学校
  • 纸 技术支持 东莞网站建设深圳建设集团招标
  • 做壁纸的网站网站与数据库
  • 怎么在网上找接单做网站的公司网站首页广告
  • 包头网站开发建设保定网站搜索排名
  • 做煤网站深圳网络营销网站
  • 专业的网站建设价格低wordpress菜单没有了
  • 企业网站维护工作计划做婚庆网站
  • 湖南做网站 地址磐石网络手机短视频制作自学教程
  • 西樵乐从网站建设自己做的网站 jen
  • 重庆本土网站公司做官网要多少钱
  • 网站的线下推广怎么做wordpress缓存单个页面
  • 甘肃临夏州建设局网站酒店线上营销方案
  • seo大神做的网站黑龙江建设网官网手机版
  • 广州新建站企业网站建设不足
  • 网站seo优化很好徐州百度网络点赞wordpress 会员分值
  • 网站开发毕业设计评审表作网站流程
  • 求有题目做的学习网站网站建设推广营销策划
  • 网站被恶意点击怎么办wordpress网络报名系统
  • 响水企业做网站多少钱ajax分页 WordPress
  • 商品网站建设百度地图api wordpress
  • 曲阜网站设计番禺南村网站建设
  • 个人建站教程棋牌游戏网站怎么做
  • 中山企业做网站WordPress外链转内链插件
  • js特效做的好的网站郑州 网站报价
  • 摄影作品展示网站设计本地广告推广平台哪个好
  • 展馆设计网站推荐提供网站建设教学视频
  • 沈阳市和平区网站建设全国企业征信系统查询平台