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

北京网站制作网站优化苏州建网站公司

北京网站制作网站优化,苏州建网站公司,环球网最新国际新闻,网络营销专业怎么样目录 stack类的作用什么是容器适配器stack的接口构造函数emptysizetoppushpopswap关系运算符重载 stack类的实现 stack类的作用 stack是stl库提供的一种容器适配器,也就是我们数据结构中学到的栈,是非常常用的数据结构,特点是遵循LIFO&#…

目录

  • stack类的作用
  • 什么是容器适配器
  • stack的接口
    • 构造函数
    • empty
    • size
    • top
    • push
    • pop
    • swap
    • 关系运算符重载
  • stack类的实现

stack类的作用

stack是stl库提供的一种容器适配器,也就是我们数据结构中学到的栈,是非常常用的数据结构,特点是遵循LIFO(last in first out,也就是后进先出)原则。

什么是容器适配器

stl中提供的类很多都叫容器,但有一些叫做容器适配器,容器适配器到底是啥呢?我们不妨先抛掉容器这两个字,先来谈谈适配器,适配器是软件设计之中的一种概念,即基于原有的接口设计适配出用户想要的接口,是一种设计模式,适配器这种设计模式提升了代码复用性以及系统扩展性,降低了代码的耦合度,是一种优秀的设计模式。那么对于容器适配器来说,就是利用已有的容器进行各种操作封装出新的类,这就叫容器适配器。

stack的接口

构造函数

explicit stack (const container_type& ctnr = container_type());

一般来说不用给参数,直接调用默认构造就行。

empty

bool empty() const;

栈的判空。

size

size_type size() const;

返回栈的元素数。

top

      value_type& top();
const value_type& top() const;

返回栈顶元素。

push

void push (const value_type& val);

入栈。

pop

void pop();

出栈。

swap


void swap (stack& x) noexcept(/*see below*/);

栈自己的交换函数。

关系运算符重载

template <class T, class Container>bool operator== (const stack<T,Container>& lhs, const stack<T,Container>& rhs);
template <class T, class Container>bool operator!= (const stack<T,Container>& lhs, const stack<T,Container>& rhs);
template <class T, class Container>bool operator<  (const stack<T,Container>& lhs, const stack<T,Container>& rhs);
template <class T, class Container>bool operator<= (const stack<T,Container>& lhs, const stack<T,Container>& rhs);
template <class T, class Container>bool operator>  (const stack<T,Container>& lhs, const stack<T,Container>& rhs);
template <class T, class Container>bool operator>= (const stack<T,Container>& lhs, const stack<T,Container>& rhs);

stack类的实现

#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<deque>using namespace std;namespace jiunian
{template<class T, class container = deque<T>>class stack{public:typedef stack<T, container> Self;//stack()//{//}//stack(Self& x)://	con(x.con)//{//}//~stack()//{//}bool empty()const{return con.empty();}size_t size()const{return con.size();}T& top(){return con.back();}const T& top() const{return con.back();}void push(const T& val){con.push_back(val);}void pop(){con.pop_back();}void swap(Self& x){con.swap(x.con);}Self operator=(Self x){con = x.con;return *this;}private:container con;};
}

stack作为一个容器适配器,实现起来相比其他容器明显简单了不少,因为其作为容器适配器只需要对其他容器的接口进行封装就行,不需要自己造轮子。实现过程一看就懂,不做过多赘述。


文章转载自:

http://izKLmwtg.wdcph.cn
http://10IZg2eS.wdcph.cn
http://or7zOKhc.wdcph.cn
http://zeoGG0Sp.wdcph.cn
http://IRqvGJsq.wdcph.cn
http://bCorE3Gy.wdcph.cn
http://MVaptLsp.wdcph.cn
http://h8x2llOO.wdcph.cn
http://ISy1fppP.wdcph.cn
http://zGzzfpyk.wdcph.cn
http://FyRyel21.wdcph.cn
http://LQ8hhDec.wdcph.cn
http://7gBRZ2mO.wdcph.cn
http://DBoh6d2B.wdcph.cn
http://FJqJH1ET.wdcph.cn
http://TvRIK4cd.wdcph.cn
http://PC27eu1L.wdcph.cn
http://cB7ERiTL.wdcph.cn
http://VoUfnYyi.wdcph.cn
http://gKIgXTXq.wdcph.cn
http://ik0f87KE.wdcph.cn
http://3LltTP4C.wdcph.cn
http://wrQaZyWi.wdcph.cn
http://gzYCHjKT.wdcph.cn
http://F8ZpMuBF.wdcph.cn
http://TiZRIRDN.wdcph.cn
http://In3KvnBv.wdcph.cn
http://4JBmyoix.wdcph.cn
http://p7GSCtUp.wdcph.cn
http://kAqaAv7e.wdcph.cn
http://www.dtcms.com/wzjs/618848.html

相关文章:

  • 乐山网站开发公司电话wordpress书插件
  • 如何制作网站教程视频网站后台设置关键词在哪设
  • 在哪网站可以做农信社模拟试卷昌邑网页定制
  • 泸州市网站建设企业信息服务规划与建设
  • wordpress站点管理服务器建设网站软件下载
  • 青岛网站建设方案公司石家庄购物网站排名
  • 众创空间网站建设方案网站外链是什么意思
  • 做网站年赚千万域名购买一般多少钱
  • 怎么做企业网站建设wordpress开发的网站有哪些
  • 如何做视频网站1688官网商家版
  • 网站屏蔽收录宿迁市住房城乡建设局网站
  • 贵阳市网站建设html网站设计模板下载
  • 怎么做电影网站appseo推广人员
  • 海阳网网站网站建设所用软件
  • 网站开发公司 经营范围wordpress生成速度显示代码
  • 手机网站赏析网站优化西安
  • 网站后台系统访问wordpress首页导航栏
  • 做安居客网站需要什么浏览器简历生成网站
  • 网站开发专业有什么工作无锡企业网站排名
  • 哪些网站百度不收录外贸流程全步骤外贸篇
  • 网站栏目框架创业做app哪个网站好
  • 合肥网站推广优化公司上海做网站优化的公司
  • 坪地网站建设价位太原代理记账公司
  • 定制网站开发流程抖音代运营收费20万
  • 个人网站的主题网页广告代码
  • 分类门户网站开发团队东莞网站排名优化公司
  • 中国网站空间做ppt的软件怎么下载网站
  • 牛商网做网站多少钱怎么自己开网站
  • linux用.net做网站个人网站首页模板
  • 企业网站设计html正能量网站地址污的