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

人民日报今日新闻温州seo公司

人民日报今日新闻,温州seo公司,南昌网站设计制作,如何做社交网站本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

本专栏内容为:C++学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C++。

💓博主csdn个人主页:小小unicorn
⏩专栏分类:C++
🚚代码仓库:小小unicorn的代码仓库🚚
🌹🌹🌹关注我带你学习编程知识

STL详解(八)

  • 容器适配器
  • stack的模拟实现:
  • queue的模拟实现:

容器适配器

stack和queue有一点需要注意的是,虽然stack和queue中也可以存放元素,但在STL中并没有将其划分在容器的行列,而是将其称为容器适配器,这是因为stack和queue只是对其他容器的接口进行了包装,STL中stack和queue默认使用deque容器。

在stack和queue的类模板声明当中我们就可以看到,它们的模板参数有两个,第一个是stack和queue当中所存储的元素类型,而另一个就是指定使用的容器类型。只不过当我们不指定使用何种容器的情况下,stack和queue都默认使用deque作为指定容器。
在这里插入图片描述
理解: 学过数据结构后我们都知道,stack和queue既可以使用顺序表实现,也可以使用链表实现。
在这里我们若是定义一个stack,并指定使用vector容器,则定义出来的stack实际上就是对vector容器进行了包装

stack的模拟实现:

知道了容器适配器后,stack的模拟实现就显得相当简单,我们只需要调用所指定容器的各个成员函数即可实现stack的各个函数接口。
在这里插入图片描述
模拟实现代码如下:

namespace NIC //防止命名冲突
{template<class T, class Container = std::deque<T>>class stack{public://元素入栈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() const{return _con.size();}//判断栈是否为空bool empty() const{return _con.empty();}//交换两个栈中的数据void swap(stack<T, Container>& st){_con.swap(st._con);}private:Container _con;};
}

测试一下:
在这里插入图片描述

queue的模拟实现:

同样的方式,我们也是通过调用所指定容器的各个成员函数来实现queue的。
在这里插入图片描述
模拟实现代码如下:

namespace NICO //防止命名冲突
{template<class T, class Container = std::deque<T>>class queue{public://队尾入队列void push(const T& x){_con.push_back(x);}//队头出队列void pop(){_con.pop_front();}//获取队头元素T& front(){return _con.front();}const T& front() const{return _con.front();}//获取队尾元素T& back(){return _con.back();}const T& back() const{return _con.back();}//获取队列中有效元素个数size_t size() const{return _con.size();}//判断队列是否为空bool empty() const{return _con.empty();}//交换两个队列中的数据void swap(queue<T, Container>& q){_con.swap(q._con);}private:Container _con;};
}

测试一下:
在这里插入图片描述

http://www.hkea.cn/news/9770/

相关文章:

  • 网站网页切换怎么做的网站app开发公司
  • 许昌网站建设汉狮怎么样营销手段和营销方式
  • 网站按钮psd网站内容优化怎么去优化呢
  • 温州外贸网站建设培训网站制作
  • 接网站制作搜盘网
  • 东海县网站建设seo站长之家
  • 更改了网站关键词后要怎么做营销推广投放
  • 网站建设文档模板东莞网站优化关键词排名
  • 怎么建立一个网站里面可以查询资料google怎么推广
  • 网站积分的作用推广公司有哪些公司
  • 大连网站建设意动科技seo公司官网
  • 莱芜网站建设费用google关键词规划师
  • wordpress增加背景图片成都关键词优化服务
  • wordpress 建站简单吗国际时事新闻最新消息
  • 做网站要学些什么湖南专业seo公司
  • 做触屏网站深圳百度代理
  • 加工平台翻译搜索引擎优化的简称
  • wordpress去除 版权信息菏泽资深seo报价
  • vue做的网站有什么鹤壁网站seo
  • 阿里巴巴网站建设分析天津海外seo
  • 网站空间什么意思产品软文模板
  • 信阳市商务局网站加油站建设公告河北百度seo点击软件
  • 对外宣传网站建设方案搜资源
  • 网站建设自学网网站做优化
  • 最全的ppt模板网站微信管理
  • 成都房产网房天下整站优化快速排名
  • 与电子商务网站建设有关实训报告外贸推广公司
  • 在安阳想建个网站怎么做百度最新收录方法
  • 乐平网站深圳网站优化推广
  • 建网站咨询上海疫情最新消息