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

个人可以建设头条网站吗关键词搜索指数

个人可以建设头条网站吗,关键词搜索指数,wordpress仿北京时间,绵阳网站建设联系电话目录 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://www.dtcms.com/a/615029.html

相关文章:

  • 西安网站建设推广专家安徽网站建设seo优化
  • 网站建设合同要求绍兴 网站建设
  • 字节技术总监笔记:linux多线程>>进程线程互斥管道
  • 个人网站备案 内容黑龙江建设兵团知青网站
  • AI 大模型如何给 CAD 3D 模型“建立语义”?
  • MYSQL指令合集
  • 北京企业网站百度wordpress结构化数据插件 sign 检测失败
  • 网站建设需要注意哪些事项前端网站开发课程
  • 周期购那个网站做的比较好太原seo整站优化
  • 加强网站安全建设说明报告范文湖南长沙招聘
  • 精品成品网站源码关键词优化易下拉效率
  • 做网站前期框架图怎么做解析视频网站
  • 终端能力等级Category介绍
  • 计算机网站建设论文总结农村自建房设计图 户型图
  • 做爰网站下载地址品牌如何推广
  • 云南文山网站建设制作WordPress不使用MySQL数据库
  • 全椒县城乡建设局网站纯注册app拉新平台
  • 合肥家居网站建设怎么样广告联盟平台系统
  • PID调参实战:Ziegler–Nichols(Z-N)搜索方案全解析
  • AES加密,前端加密,后端解密
  • SK Keyfoundry增加Sic产能
  • 温州建站平台wordpress 七牛云
  • Spring Boot与MyBatis
  • 大区直播间网站开发制作研究网站开发意义
  • 西安网站建设价格明细北京西城注册公司
  • 提升知识索引性能的技术手段
  • 【数据结构】【xjtuse】八股文单元小测
  • 无锡网站建设开发网站建设终身不用维护
  • 苏州网站建设排名安卓开发课程
  • 前端工程化未来,模块联邦与微前端