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

徐家汇网站建wordpress首页调用指定分类

徐家汇网站建,wordpress首页调用指定分类,十大图片素材网站,网站管理助手创建数据库前言 ​ stack 和 queue使用起来都非常简单#xff0c;现在来模拟实现一下#xff0c;理解其底层的原理。 ​ 在实现之前#xff0c;应该知道#xff0c;stack 和 queue 都是容器适配器#xff0c;通过看官网文件也可以看出来#xff1b;其默认的容器都是deque#xff…前言 ​ stack 和 queue使用起来都非常简单现在来模拟实现一下理解其底层的原理。 ​ 在实现之前应该知道stack 和 queue 都是容器适配器通过看官网文件也可以看出来其默认的容器都是deque双端队列。 stack 和 queue 都是在容器的基础上进行了封装实现了各自的操作。 在下面的实现中stack默认容器用vectorqueue默认容器用list 栈和队列的使用 栈的使用 ​ 首先STL中的栈是基于容器适配器实现的默认容器是deque。 使用栈需要包含头文件: #includestack1.1 栈的基本操作 ​ 先看一下栈提供的接口函数 常用方法 push(): 将元素 val 压入栈顶。pop(): 移除栈顶元素。top(): 返回栈顶元素但不移除。empty(): 判断栈是否为空。size(): 返回栈的元素数量。 1.2 栈的使用 现在简单使用一下stack void test_stack() {//创建一个栈——存储整形stackint s; //入栈s.push(1);s.push(2);s.push(3);//栈中元素cout 元素个数: s.size() endl;//栈顶元素cout 栈顶元素: s.top() endl;//出栈s.pop();//依次输出栈中的数据while (!s.empty()) {cout s.top() ;s.pop();}cout endl;return 0; }输出结果 元素个数: 3 栈顶元素: 3 2 11.3 应用实例点击消除 栈可以用来解决括号匹配这一类的问题。 ​ 括号匹配之前已经做过了这里来用栈做这样的一道题点击消除_牛客题霸_牛客网 题目描述 ​ 这题思路比较简单就是遍历字符串时不断入栈出栈字符串中字符与栈顶元素相等最后输出即可。 需要注意的是这里使用数组来模拟栈方便输出 ​ 当然也可以使用栈不过输出时顺序是反的需要进行处理。 #include iostream using namespace std;int main() {string str;cinstr;string ret;for(auto ch: str){if(ret.size()0||ret[ret.size()-1]!ch){ret.push_back(ch);}else {ret.pop_back();}}if(ret.empty()){cout0;return 0;}coutret;return 0; }队列的使用 2.1 队列的基本操作 STL 中的队列queue也是一种容器适配器默认底层容器也是 deque。 使用栈需要包含头文件: #includequeue常用方法 push(): 将元素 val 插入队尾。pop(): 移除队头元素。front(): 返回队头元素不移除。back(): 返回队尾元素不移除。empty(): 判断队列是否为空。size(): 返回队列的元素数量。 2.2 队列的使用 简单使用一下队列 void test_queue() {//创建一个队列——存储整型queueint q;//入队列q.push(10);q.push(20);q.push(30);cout 数据个数: q.size() endl;cout 队头元素: q.front() endl;cout 队尾元素: q.back() endl;//出队列q.pop();cout 队列中数据: ;while (!q.empty()) {cout q.front() ;q.pop();}cout endl; }输出结果 数据个数: 3 队头元素: 10 队尾元素: 30 队列中数据: 20 30栈和队列的模拟实现 stack 模拟 ​ 学习过初阶数据结构的栈大概知道栈是怎么实现的使用过STL里的stack也知道具体哪些操作这里就直接开始实现。 1.默认成员函数 ​ 对于默认成员函数因为这里stack是对容器的封装所以那些构造函数、析构函数、赋值运算符重载等都不需要我们自己去实现编译器默认生成的会去调用vector容器的默认成员函数。 templateclass T, class Container vectorTclass stack{stack() {}private:Container _con;};2.基本操作 ​ 栈的基本操作无疑就是入栈、出栈、取栈顶元素、判断栈是否为空。 入栈 ​ 直接调用容器vector的尾插即可。 void push(const T x){_con.push_back(x);}出栈 ​ 直接调用容器vector的尾删 void pop(){_con.pop_back();}取栈顶元素 ​ 直接返回容器vector的最后一个元素即可即调用back()函数 T top(){return _con.back();}const T top()const {return _con.back();}判断是否为空 ​ 调用容器的empty函数即可 bool empty() const{return _con.empty();}返回栈中元素个数 size_t size() const {return _con.size();}swap ​ 直接调用容器的swap函数即可。 void swap(stack st){_con.swap(st._con);}​ 到这里 就简单实现了我们的stack 结构了是不是感觉很简单呢 templateclass T, class Container vectorTclass stack{public:stack() {}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();}bool empty() const{return _con.empty();}size_t size() const {return _con.size();}void swap(Container st){_con.swap(st._con);}private:Container _con;};queue 模拟 默认成员函数 ​ 和stack一样我们不需要去实现它的默认成员函数编辑器默认生成的就已经可以满足我们的需求了。 基本操作 push ​ 入队列在队尾插入 void push(const T x){_con.push_back(x);}pop ​ 出队列从头部删除 void pop(){_con.pop_front();}front和back ​ 返回队头数据 / 队尾数据 T back() {return _con.back(); } const T back() const {return _con.back(); } T front() {return _con.front(); } const T front()const {return _con.front(); }empty bool empty() const{return _con.empty();}size size_t size() const{return _con.size();}swap void swap(Container con){_con.swap(con);}​ 到这里stack和queue的模拟实现就完成了感觉是不是很容易呢。 三、双端队列deque的栈和队列操作 deque双端队列既可以当作栈也可以当作队列使用。我们可以在双端队列的两端进行插入和删除操作从而更灵活地实现栈和队列的功能。 ​ 对于双端队列简单来说就是可以像vector那样随机访问也可以像链表那样随机位置插入但是效率很低个人感觉就是为了给stack和queue作默认容器适配器来用的。 这里就不过多描述双端队列了感兴趣可以去看一下源码学习学习。 继续加油 _con.size(); } **swap**~~~cppvoid swap(Container con){_con.swap(con);}​ 到这里stack和queue的模拟实现就完成了感觉是不是很容易呢。 三、双端队列deque的栈和队列操作 deque双端队列既可以当作栈也可以当作队列使用。我们可以在双端队列的两端进行插入和删除操作从而更灵活地实现栈和队列的功能。 ​ 对于双端队列简单来说就是可以像vector那样随机访问也可以像链表那样随机位置插入但是效率很低个人感觉就是为了给stack和queue作默认容器适配器来用的。 这里就不过多描述双端队列了感兴趣可以去看一下源码学习学习。 继续加油
http://www.hkea.cn/news/14576647/

相关文章:

  • 免费名片在线设计网站wordpress最新更新列表页面
  • 如何建设网站app网站的建设教程
  • 有哪些做普洱茶网站的会计专业建设规划
  • 做网站的时候公共部分怎么分离企业信息平台查询
  • 48互联网站建设台州黄岩网站建设
  • 网站的种类深圳住房和建设局网站 宝安
  • 网站备案包括空间内容吗网站推广渠道特点
  • 织梦网站被做跳转自己网站建设
  • 直接做的视频网站保险网销平台
  • 网站编写语言网站空间购买费用
  • 装修网站效果图河北常见网站建设价格
  • 服务好的企业网站怎么建设网页设计模板素材库
  • 湖南微信网站公司成都区块链网站开发
  • 上海手机网站建设方案网站建设项目公告
  • 微商城网站建设哪家好网络游戏工作室
  • 大企业网站建设方案百度做网站怎么样
  • 双滦区seo整站排名衡阳企业seo优化费用
  • 免费模板素材网站ppt个人如何网站备案
  • 如何做网站卖产品哪个网站有适合小学生做的题目
  • 深圳广告设计公司网站广告创意设计说明
  • 贵阳做网站的公司有哪些东莞网站关键词推广
  • 两个域名指向同一个网站徐州建站方案
  • 酷炫的网站模板免费下载网站建设需要匹配人员
  • 网站类网站开发犯罪吗0592 网站建设
  • 速冻蔬菜做哪个国际网站好技术支持 鼎维重庆网站建设专家
  • 看守所加强自身网站建设工作网站内页权重
  • 网站建设 无锡iis怎么做ip网站吗
  • 织梦教育咨询企业网站模板互联网推广策略
  • Wordpress 学校网站wordpress新建站点
  • 网站如何布局图片编辑在线使用